- Yapay zeka kodlama araçları hakkında abartılı iddialar var
- 3 günde bir SaaS yapılabileceği iddiası vs. tamamen işe yaramaz olduğu iddiası → büyük olasılıkla ikisi de abartılı
- Cursor, kod yazma biçimimi tamamen değiştirdi ama hâlâ sorunları var
- Yapay zeka kodlama araçlarına şüpheci yaklaşırken edindiğim deneyimleri paylaşmak istiyorum
CursorRules ayarlamak
.cursorrules dosyası yoksa zaman kaybetme ihtimali çok yüksek
- Artık
.mdc dosyasına dönüştü → CMD + Shift + P → New Cursor Rule ile oluşturulabiliyor
- Kurulumu tamamlamak yaklaşık 10 dakika sürüyor → saatler kazandırabiliyor
- Teknoloji yığınına uygun kurallar belirlemek
- Cursor Rules koleksiyonu içinden en uygun kuralları seçin
- En az sayıda kuralla başlayıp zamanla genişletin → fazla kural performansı düşürebilir
- Tekrarlayan sorunları kural ekleyerek çözmek
- Sürekli ortaya çıkan sorunları kurallara ekleyip yapay zekanın otomatik düzeltmesini sağlayın
- Örnek: JS'de
nullish coalescing (??) sorunu → kurala ekledikten sonra çözüldü
- Proje bilgisi ve kod yapısı açıklaması eklemek
- Dosyanın üst kısmına proje açıklaması ve kod yapısını yazın
- Belirli bir dosya düzeni veya kod yazım yaklaşımı varsa bunu açıkça belirtin
En iyi çıktıyı almak
- Çıktı kalitesini artırmanın anahtarı bağlam sağlamak
- Gerekli fonksiyonlar veya benzer süreçler varsa yapay zekaya önceden söyleyin
- Tam fonksiyon adını vermeniz gerekmez → amaç kodlama işini kolaylaştırmak
- Örnek vermek
see @schedule.ts @utils.ts @ScheduleHeader.tsx gibi ipuçları verin
- Benzer biçimde yazılmış kodlara referans verilebilir
- Yapay zeka rastgele kodlarla eğitilmiştir
- Projeye özgü gereksinimleri net biçimde iletmek performansı artırır
Hızlı ipuçları
- Composer(artık Agent olarak değiştirildi) → basit ve etkisi düşük değişiklikler için uygun
- Chat(Ask) → diğer işlerin çoğu için uygun
- Değişiklikleri elle uygulamak → kodu anlama ve düzeltme daha isabetli olur
- Koda körü körüne güvenmeyin
- Yapay zekanın ürettiği kod mutlaka gözden geçirilmeli ve düzeltilmeli
- Çekirdek kodu düzenli olarak elle refactor edin
- Kod boşluklarını fark edip düzeltmek → sonrasında yapay zeka kod kalitesini artırabilir
- "Bu en iyi yöntem mi?" veya "Başka bir yöntem düşünüldü mü?" diye sorun
- Elle çözmenin daha iyi olduğu durumları fark edin
- Bug düzeltirken dikkatli olun
- Küçük bug'lar dışında yapay zeka düzeltmede zorlanır
- Koda ciddi zarar verme ihtimali vardır
- Önemli işlerde önce yapay zekanın soru sormasını teşvik edin
- "Her şeyi tamamen anladın mı?" diye sorduktan sonra kod yazmaya başlasın
Sonuç
- Yapay zeka ile kodlamanın avantajları
- Zihin yorgunken bile kod yazmaya yardımcı olur
- Normalde çözmesi zor olan sorunları da çözebilir
- Yapay zeka ile kodlamanın sınırları
- "Evet, artık sorunu anladım" deyip sonunda durumu daha kötü hale getirebilir
- Yapay zekayı iyi kullanmayı öğrenmek önemli → çünkü ortadan kaybolmayacak, bu yüzden onu iyi bir araç olarak kullanmak gerek
- Junior geliştiriciler için dikkat gerekiyor: Yapay zeka kullanımı kodlama becerisini zayıflatma riski taşıyor
- Yapay zeka performansı, kodlama konusu ve teknoloji yığınına göre büyük ölçüde değişir
→ Yapay zeka sürekli kötü performans gösteriyorsa bunun sizin hatanız olmama ihtimali yüksektir
8 yorum
Cursor kuralları için https://cursor.directory/ adlı web sitesini de öneririm.
Yapay zeka kullanımı yüzünden junior geliştiricilerin becerilerinin zayıfladığı iddiasını gerçekten çok sık gördüm; bunun gerçekten böyle olup olmadığına dair bir yazı varsa ilginç olurdu.
Güzel yazıydı, keyifle okudum :)
Bana, telefon kısayollarını kullanınca hafızanın zayıfladığına dair bir söylem gibi geliyor.
Kodlamada mesele, bariz şeyleri unutmadan ezberde tutmak bir yetenek değil ki.
Ben de katılıyorum. Framework arayüzlerini ezberlemek yazılım geliştirme becerisi değil sonuçta.
Cursor’un iyi yanları çok ama... benim gibi birden fazla cihazda çalışan biri için
ayar senkronizasyonu özelliğinin olmaması üzücüydü
Extension’ları ya da ayar dosyalarının kendisini ağ sürücüsünde
sembolik linkleyerek senkronize etme gibi bir workaround olduğunu söylüyorlar ama
VSCode’da tek tıkla senkronize ederken böyle bir süreçle uğraşmak biraz zahmetli geliyor
VSCode'daki Cmd+K'yi Cmd+R ile değiştirdiğim için pek kullanmıyorum ama herkes üretkenlik artışıyla ilgili peş peşe övgüler diziyor. Ah, ben de geçmeli miyim acaba
5 yıldır kullandığım VSCode'u bıraktım, memnunum.
Hacker News görüşü
Şirketin mühendislik liderliği Cursor’u güçlü biçimde öne çıkarıyor. Küçük ticket’ları ele almak ve ürünü iyileştirmek için iyi, ancak ağır işler için uygun değil
Cursor’un mevcut iş modeli, kullanıcı ile şirketin finansal esenliği arasında temel bir çatışma yaratıyor
Cursor, en büyük SaaS büyüme hikâyelerinden biri olarak övülüyor, ancak aylık 20 dolar karşılığında sınırsız kullanım iş modeli onları kötü bir duruma sokuyor
Her kullanıcı kendi dili/stack’ini hesaba katmalı. Cursor’un tüm dillerde aynı şekilde çalışmaması çok olası
Cursor’u bir ay kullandıktan sonra internetin kesildiği bir gün, düzgün şekilde nasıl kod yazılacağını unutmaya başladığımı fark ettim
Bu araçların UX’i esas olarak, kullanıcının yapmak istediği işin tam bağlamını oluşturabilme yeteneğiyle sınırlı
Büyük modeller milyonlarca/on milyonlarca token’lık büyük context window’ları destekliyor, bu da küçük bir araba fiyatına yakın maliyet yaratıyor ve çok enerji tüketiyor
Cursor prototipleme ve MVP geliştirme için faydalı, ancak kod tabanı büyüdükçe zorlanıyor
Diğer yorumcuların görüşlerini bir araya getirince, Cursor kullanmanın kötü bir fikir olduğu hissine kapılıyorum
.envdosyalarının düz metin olarak gönderilmesini engellemenin bir yolunu bulamadım"Sorunları manuel olarak ne zaman çözeceğini öğren" tavsiyesini okuyunca afalladım
Cursor’u birkaç kez denedim ama hep aynı şikâyetim var