Son birkaç ayda kod incelemelerimin (PR — pull request, yani "bu değişiklikleri birleştirelim mi?" talebi) büyük kısmında Cursor veya Claude Code gibi yapay zeka araçları kullanıyorum. Gerçekten hız kazandırıyorlar: API endpoint'i, veritabanı katmanı (repository), test iskeleti gibi tekrarlayan işler on dakikada çıkabiliyor. Ama değişiklik listesi (diff) büyüdükçe inceleme tarafında aynı hızı yakalayamıyorum; bazen eskisinden daha yavaş hissediyorum.
Yapay zeka asistanlarının en iyi olduğu yer belli kalıplar. Veritabanı migration taslağı, kod düzenleme, README veya mimari karar belgesi (ADR) taslağı gibi işlerde "ilk taslak üretici" olarak mükemmel çalışıyorlar. Sorun, para, stok, tekrarlanabilirlik (idempotency — aynı işlemin iki kez yapılması durumunda sonucun değişmemesi) gibi iş kurallarında başlıyor. Asistan "çalışır görünen" kod yazıyor; canlı ortamda (production) patlayan kısım genelde burada kalıyor.
İncelemede en sık gördüğüm tuzak, asistanın ürettiği test iskeletine güvenmek. Örneğin bir e-ticaret sipariş API'sinde CreateOrder_ReturnsOk gibi "her şey yolunda" testi faydalı ama yeterli değil. Stok yetersiz, aynı siparişin iki kez gelmesi, eşzamanlı sipariş gibi hata senaryoları diff'te yoksa birleştirmem. Asistanın PR açıklamasına yazdığı özeti okumak inceleme sayılmaz; satır satır diff okumak gerekiyor.
Birleştirmeden önce kendi listem kısa: test yoksa neden yok yazılmış mı, log/ölçüm/izleme (metric/trace) eklenmiş mi, kimlik doğrulama (auth) ve veritabanı işlem sınırları net mi? Yapay zeka hızlandırır; sorumluluk hâlâ geliştiricide kalır.
Özet: Asistan taslak üretir, insan iş kurallarını ve hata senaryolarını doğrular. Hızlı diff, dikkatli inceleme demek değildir.
