tolgacelik.net
Tüm yazılar
·3 dk

AI ile Kod Yazarken Dikkat Edilmesi Gerekenler

Cursor ve Claude Code'u bir yıldır üretimde kullanıyorum. Hız kazandığım yerler kadar, tuzağa düşmemek için kurduğum kuralları da anlatıyorum — hallucination, context kirlenmesi, güvenlik ve production istikrarı.

aicursorclaudecode-reviewguvenlik

AI ile kod yazmak birkaç ay önce novelty'di, şimdi standart pratik. Ama gördüğüm kadarıyla "nasıl yaparım?" sorusunu geçen çoğu kişi "nasıl yanlış yapmayacağım?" sorusunda kaybediyor. Bu yazıda bir yılda ne ile karşılaştığımı, hangi kuralları kendime koyduğumu anlatacağım — teori değil, masa başı notları.

1. AI, "iddialı bir junior" gibidir

En önemli zihinsel model bu. Çıktıyı gözünüzde canlandırırken bir seniorun onay verdiğini hayal etmeyin — aksine, bir juniorun yanında oturmuşsunuz, önerilerini dinliyorsunuz, ama son sözü siz söylüyorsunuz.

Junior cesurdur; "Redis'in tüm key'lerini silip yeniden kur" diye öneri verebilir. Yanlış olduğunu bilmez, söyler. Aynı şey AI için de geçerli: özgüveni bilgisinden yüksek. Siz terbiyecisisiniz.

2. Hallucination gerçek, ama görülebilir

AI var olmayan bir kütüphane fonksiyonunu "vardır, şöyle kullan" diye uydurabilir. Bu sadece küçük bir hata değil — üretime girerse crash olur.

Anti-pattern:

  • AI'nın önerdiği bir API'yi dokümantasyona bakmadan kullanmak
  • Test yazmadan merge etmek
  • Lokal çalıştığı için "tamamdır" demek

Bu üçünden birini yapmıyorsanız hallucination sizi çoğunlukla yakalamaz. Sisteminiz zaten bir "AI doğrulama makinesi" gibi çalışır.

3. Context penceresi = AI'nın hafızası

AI'nın kodunuzu ne kadar iyi anladığı, ona verdiğiniz bağlama bağlı. Büyük bir refactor isterken:

  • Sadece değişecek dosyayı değil, etkileneceği dosyaları da context'e sokun
  • Konvansiyonları bir kez gösterin (örn. "bu projede logger nasıl kullanılıyor" örneği)
  • İlgisiz kodu context'e sokmayın — dikkat dağıtır

Context temizliği AI verimliliğinin %50'si.

4. "İşte bir kod, gönder" demek yerine neden sorun

Bir kod parçası üretildiğinde şu üç soruyu sormayı alışkanlık haline getirin:

  1. Neden bu yaklaşım seçildi?
  2. Alternatif ne olabilirdi?
  3. Bu kod üretimde patlarsa en olası yer neresi?

Bu sorular yapay zekâya değil, size yönelik — ama yapay zekâya cevaplatıyorsunuz. Hem daha iyi kod alırsınız, hem de ister istemez sistem düşüncesi pratiği yaparsınız.

5. Güvenlik konusunda çok daha temkinli olun

AI, SQL injection, XSS, yanlış yapılandırılmış CORS gibi problemleri "çok az" göz önünde bulunduruyor. Güvenlik hataları "çalışıyor" görünür ama patlar.

Kuralım: AI'nın yazdığı her "user input alan" kod parçasını ekstra gözle okurum. Özellikle:

  • SQL query'leri → parameterized mi?
  • API endpoint'leri → auth middleware var mı?
  • File upload → size limit + mime type kontrolü var mı?
  • Env var okuyan kod → default fallback hangi değere gidiyor?

6. Commit öncesi AI'dan "bu code review sırasında size nereye dikkat edilmesi gerektiğini söylerdi?" diye sorun

Harika bir teknik: AI'ya kendi kodunu eleştirtin. %80'ini hiçbir yoruma layık görmez, ama %20'de genelde 2-3 gerçek problemi söyler. Bu, modelin konservatif modda çalıştığı için daha dürüst bir ayna gibi.

7. Tekrarlanan prompt'ları sabitleyin

Cursor'un rules dosyası ya da Claude Code'un CLAUDE.md'si tam bunun için. Her yeni dosyada "logger kullan, try-catch yazma, error boundary ekle, snake_case isimlendirme" gibi şeyleri tekrar tekrar söylemek yerine bir kere yaz, sabitlen.

8. Production'a yaklaştıkça AI'yı uzaklaştırın

Prototip aşamasında AI çok faydalı. MVP aşamasında da. Fakat gerçek production trafiği ile kod arasındaki son mesafede — performans optimizasyonu, race condition'lar, edge case'ler — insan zekası hâlâ açık ara önde. Bu aşamada AI'yı "öneri motoru" olarak kullanın ama kararlar sizin olsun.

9. Kendi becerinizi ihmal etmeyin

Bu önemli. Eğer üç ay boyunca sadece AI'nın ürettiği kodu "kabul et" butonuna basarak geçerseniz, o üç ay sonunda gerçekten regres ettiğinizi fark edersiniz. Yeni bir konsept öğrenmek istiyorsanız, haftanın bir-iki saatini AI'sız çalışmaya ayırın. Kası işletmek için.

Sonuç

AI ile kod yazmak yapılabilir — zaten yapılıyor. Ama "güvenli" hale getirmek biraz disiplin ister. Bu yazıdaki 9 alışkanlık benim son bir yılımdan gelen derslerdi. Hepsini birden uygulamak gerekmez, 3 tanesini seçip pratiğe alsanız bile kodunuzun kalitesinde belirgin fark görürsünüz.

Sonuç olarak araç araç, yönlendiren siz. Bu değişmiyor — sadece aracın kapasitesi arttı.

PaylaşLinkedInX
Bir sonraki yazı doğrudan kutuna düşsün

Distributed sistemler, üretim stabilitesi, AI destekli geliştirme üzerine uzun yazılar. Spam yok, çıkmak kolay.

Sadece e-posta. Bu sunucuda saklanır. Hiçbir yerde paylaşılmaz, satılmaz.

Yorumlar

Henüz yorum yok. İlk yorumu sen bırak.

Yorum bırak

Hiçbir yerde gösterilmez. Sadece gerekirse cevap vermek için.