Claude Code ile PR ön-inceleme iş akışı: okunabilirlik, doğruluk ve kenar durumlarını önceden kontrol edin; sonra inceleyici kontrol listesi ve birleştirme öncesi sorular üretin.

PR incelemeleri nadiren “zor” olduğu için uzun sürer. Uzun süren neden, inceleyenin niyet, risk ve etkiyi bir diff'ten —değişiklikleri gösteren ama bütün hikâyeyi anlatmayan— yeniden kurmak zorunda kalmasıdır.
Küçük bir düzenleme gizli bağımlılıkları tetikleyebilir: bir alanın adını değiştirin ve bir rapor bozulur, bir varsayılan değeri değiştirin ve davranış kayar, bir koşulu değiştirin ve hata yakalama farklı çalışır. İnceleme süresi, inceleyenin bağlam için tıklayıp gezinmesi, uygulamayı yerelde çalıştırması ve PR'in ne yapması gerektiğini anlamak için ek sorular sorması gerektiğinde artar.
Ayrıca insana özgü bir örüntü sorunu var. İnsanlar diff'leri öngörülebilir şekillerde tarar: “ana” değişikliğe odaklanırız ve hataların gizlendiği sıkıcı satırları kaçırırız (sınır kontrolleri, null işleme, loglama, temizlik). Ayrıca görmeyi beklediklerimizi okuma eğilimindeyiz; bu yüzden copy-paste hataları ve ters koşullar gözden kaçabilir.
İyi bir ön-inceleme hüküm vermek değildir. Hızlı, yapılandırılmış ve insanın nerede yavaşlaması gerektiğini gösteren ikinci bir çift gözdür. En iyi çıktı şunları verir:
Ne yapmamalı: PR'i “onaylamak”, gereksinimler uydurmak veya diff'te kanıt yoksa çalışma zamanını tahmin etmektir. Eğer diff yeterli bağlam sağlamıyorsa (beklenen girdiler, kısıtlar, çağıran sözleşmeler gibi), ön-inceleme bunu belirtmeli ve tam olarak neyin eksik olduğunu listelemelidir.
Yapay zekâ yardımı, anlamın kaybolabileceği iş mantığını veya yeniden düzenlemeleri (refactor) içeren orta büyüklükteki PR'lerde en güçlüdür. Derin organizasyon bilgisine (miras davranışlar, üretim performans incelikleri, iç güvenlik kuralları) bağlı doğru cevabın gerektiği durumlarda zayıftır.
Örnek: “sadece sayfalamayı güncelliyor” görünen bir PR genellikle bir-eksi-bir sayfa hatalarını, boş sonuçları ve API ile UI arasındaki sıralama uyumsuzluklarını gizler. Bir ön-inceleme, insanın 30 dakika harcamadan önce bu soruları gündeme getirmelidir.
Claude’ı karar veren değil, hızlı ve titiz bir ilk geçiş yapan inceleyici gibi değerlendirin. Amaç, kafa karıştıran kodu, gizli davranış değişikliklerini, eksik testleri ve yakın olduğunuzda unuttuğunuz kenar durumları daha erken ortaya çıkarmaktır.
Adil bir insan inceleyicinin ihtiyaç duyacağı bilgileri verin:
PR bilinen yüksek riskli bir alanı etkiliyorsa, bunu baştan belirtin (auth, faturalama, migration'lar, eşzamanlılık).
Sonra uygulanabilir çıktılar isteyin. Güçlü bir istek şu örneğe benzer:
İnsanı kontrolün sahibi yapın: belirsizliği zorunlu kılın. Claude'dan bulguları “diff'ten kesin” veya “doğrulama gerekiyor” olarak etiketlemesini ve her bir endişeyi tetikleyen satırları tam olarak alıntılamasını isteyin.
Claude, gösterdiğiniz kadardır. Çok büyük bir diff'i hedef veya kısıt belirtmeden yapıştırırsanız, genel tavsiye alırsınız ve gerçek riskleri kaçırırsınız.
Somut bir hedef ve başarı kriteriyle başlayın. Örneğin: “Bu PR login endpoint'ine rate limiting ekliyor ve suistimali azaltmalı. Yanıt şeklini değiştirmemeli. Ortalama gecikmeyi 50 ms altında tutmalı.”
Sonra sadece önemli olanı ekleyin. 20 dosya değiştiyse ama mantığı yalnızca 3 dosya etkiliyorsa, odaklanmanız gerekenler onlar olsun. Bir snippet yanıltıcı olabileceğinden çevreleyen bağlamı ekleyin: fonksiyon imzaları, önemli tipler veya davranışı değiştiren konfigürasyon gibi.
Son olarak test beklentileri hakkında açık olun. Kenar durumları için birim testleri, kritik yol için entegrasyon testi veya manuel UI kontrolleri istiyorsanız belirtin. Testler kasıtlı olarak yoksa nedenini yazın.
İyi çalışan basit bir “bağlam paketi”:
İyi bir Claude Code PR incelemesi sıkı bir döngü şeklinde çalışır: yeterli bağlam verin, yapılandırılmış notlar alın, sonra bunları eylemlere dönüştürün. İnsanların yerini almaz; bir ekip arkadaşının uzun süre okuyup yeniden keşfetmesini gerektirmeden önce basit hataları yakalar.
Her seferinde aynı geçişleri kullanın ki sonuçlar öngörülebilir olsun:
Notları aldıktan sonra bunları kısa bir merge gate'e dönüştürün:
Birleştirme kontrol listesi (kısa tutun):
Son olarak, birleştirmeden önce açıklığı zorlayan 3–5 soru isteyin, örneğin “API boş liste döndürürse ne olur?” veya “Bu eşzamanlı isteklerde güvenli mi?” gibi.
Claude, sabit bir mercek verildiğinde en yararlı olur. Bir rubrik yoksa, genellikle ilk gözüne çarpanı (çoğunlukla stil nit'leri) yorumlar ve en riskli sınır durumunu kaçırabilir.
Pratik bir rubrik:
Prompt attığınızda kategori başına bir kısa paragraf ve “en yüksek riskli sorun önce” isteyin. Bu sıralama insanları odaklı tutar.
Tekrar kullanılabilir bir temel prompt kullanın ki her PR'de çıktı benzer olsun. PR açıklamasını, sonra diff'i yapıştırın. Davranış kullanıcıya yönelikse, beklenen davranışı 1–2 cümleyle ekleyin.
Bir pull request ön-incelemesi yapıyorsun.
Bağlam
- Repo/servis: <isim>
- Değişiklik amacı: <1-2 cümle>
- Kısıtlar: <performans, güvenlik, geriye dönük uyumluluk, vb>
Girdi
- PR açıklaması:
<...>
- Diff (unified diff):
<...>
Çıktı formatı
1) Özet (en fazla 4 madde)
2) Okunabilirlik notları (nits + önerilen yeniden yazımlar)
3) Doğruluk riskleri (ne bozulabilir ve neden)
4) Test edilmesi gereken kenar durumları (spesifik senaryolar)
5) İnceleyici kontrol listesi (5-10 madde)
6) Merge öncesi yazara sorulacak sorular (3-7)
Kurallar
- İlgili diff satırlarını alıntılayarak kanıt göster (dosya + fonksiyon adı ile).
- Emin değilsen, hangi bilgiye ihtiyaç duyduğunu söyle.
Yüksek riskli değişiklikler (auth, ödemeler, izinler, migration'lar) için başarısızlık ve geri alma düşüncesini açıkça ekleyin:
Bu inceleme için ekstra odak:
- Güvenlik/gizlilik riskleri, izin atlama, veri sızıntısı
- Para/hesap doğruluğu (çifte ücretlendirme, idempotentlik)
- Migration güvenliği (kilitler, backfill, aşağı yön uyumluluğu)
- İzleme/alert'ler ve geri alma planı
“Merge engeli” (stop-ship) bölümü döndür ve birleştirmeyi engelleyecek maddeleri listele.
Refactor'lar için “davranış değişikliği yok” kuralını katı tutun:
Bu PR bir refactor. Davranışın aynı kalması beklenir.
- Küçük bile olsa herhangi bir davranış değişikliğini işaretle.
- Korunması gereken invarianları listele.
- Davranışı değiştirebilecek diff hunk'larını tam olarak göster.
- Eşdeğerliği doğrulamak için minimal bir test planı öner.
Hızlı bir tarama istiyorsanız, “200 kelimenin altında cevap ver” gibi limit ekleyin. Derinlik istiyorsanız “10 bulguya kadar nedenleriyle” isteyin.
Claude’ın notları, insanların kapatabileceği kısa bir kontrol listesine dönüştürüldüğünde faydalı olur. Diff'i tekrarlamayın. Riskleri ve alınan kararları yakalayın.
Öğeleri iki kovaya ayırın ki tartışma tercih meselelerine dönmesin:
Düzeltilmesi gerekli (merge engeli)
İyi-olur (takip maddeleri)
Ayrıca dağıtım hazırlığını da yakalayın: en güvenli dağıtım sırası, sürüm sonrası neler izlenecek ve değişikliği nasıl geri alırsınız.
Ön-inceleme, küçük bir netlik sorusu kümesiyle bitmelidir.
Eğer bu soruları açıkça cevaplayamıyorsanız, merge'i durdurun ve kapsamı daraltın veya kanıt ekleyin.
Çoğu hata süreç kaynaklıdır, model kaynaklı değil.
Örneğin bir PR yeni bir checkout endpoint'i ekliyorsa, tüm servisi yapıştırmayın. Handler, doğrulama, DB yazma ve varsa şema değişikliklerini ekleyin. Sonra: “Amaç: çift ücretlendirmeyi önlemek. Amaç değil: isimlendirme refactor'ı.” Bu, daha az ve doğrulanması kolay yorum getirir.
Küçük bir PR: ayarlar ekranına “görünen ad” alanı ekleme. Sunucu tarafında doğrulama ve istemci tarafında UI metni etkiliyor. Mantığı etkileyebilecek yerler var ama yine de küçük.
Yapıştıracağınız diff snippet'leri (ve beklenen davranış ile ilgili 2–3 cümle):
- if len(name) == 0 { return error("name required") }
+ if len(displayName) < 3 { return error("display name too short") }
+ if len(displayName) > 30 { return error("display name too long") }
- <TextInput label="Name" value={name} />
+ <TextInput label="Display name" value={displayName} helperText="Shown on your profile" />
Örnek bulgular:
len(displayName) kontrolünden geçebilir. Doğrulamadan önce trim edin.Bunu bir kontrol listesine çevirin:
Bir Claude Code PR incelemesi şu hızlı kontrollerle bitmeli:
Kazancı görmek için 2–4 hafta boyunca iki basit metriği izleyin: inceleme süresi (açılıştan ilk anlamlı yoruma ve açılıştan merge'e kadar) ve yeniden çalışma (inceleme sonrası takip commit'leri veya kaç yorumun kod değişikliği gerektirdiği).
Standartlaştırma mükemmel prompt'tan iyidir. Bir şablon seçin, kısa bir bağlam bloğu (ne değişti, neden, nasıl test edilir) zorunlu kılın ve “tamamlandı” ne demek anlaşın.
Eğer ekibiniz sohbete dayalı geliştirme ile özellikler inşa ediyorsa, aynı iş akışını Koder.ai içinde uygulayabilirsiniz: değişiklikleri oluşturun, kaynak kodunu dışa aktarın, ve sonra PR'e ekleyeceğiniz ön-inceleme kontrol listesini iliştirin ki insan incelemesi en riskli parçalara odaklansın.