Kod İnceleme (Code Review)
Kod inceleme, kod birleştirilmeden önce takım üyelerinin birbirinin kodunu incelediği bir süreçtir. Kod kalitesini korumaya, bilgi paylaşımına ve hataları erken yakalamaya yardımcı olur.
Kod İnceleme İş Akışı
1. Çekme İsteği Oluşturma
# Özellik branch'i oluştur
git checkout -b feature/yeni-ozellik
# Değişiklikleri yap ve commit et
git add .
git commit -m "Yeni özellik ekle"
git push origin feature/yeni-ozellik
Ardından gityar'da çekme isteği oluşturun.
2. İnceleme İsteme
Çekme isteğinde:
- Sağ kenar çubuğunda "İnceleyiciler" tıklayın
- Takım üyelerini seçin
- İsteğe bağlı olarak nelere odaklanılması gerektiğini açıklayan bir yorum ekleyin
3. Kodu İnceleme
İnceleyiciler şunları yapmalıdır:
- Kod değişikliklerini dikkatli okuyun
- Amacı ve bağlamı anlayın
- Hataları ve uç durumları kontrol edin
- Kodun standartlara uyduğunu doğrulayın
- Gerektiğinde değişiklikleri yerel olarak test edin
İnceleme Özellikleri
Değişiklikleri Görüntüleme
Diff Görünümü:
- Tüm değişiklikleri yan yana görün
- Vurgulanmış eklemeler ve silmeler
- Sözdizimi vurgulama
- Bölünmüş veya birleştirilmiş diff
Commit Geçmişi:
- PR'daki tüm commit'leri görün
- Commit mesajlarını görün
- Değişiklikleri zaman içinde takip edin
Satır İçi Yorumlar
Belirli satırlarda yorum bırakın:
- Satır numarasının üzerine gelin
- "+" simgesine tıklayın
- Yorumunuzu yazın
- "Tek yorum ekle" veya "İnceleme başlat" tıklayın
İnceleme Durumları
Yorum:
- Genel geri bildirim
- Onay veya reddetme yok
- Soru sorun veya iyileştirmeler önerin
Onayla:
- Kod birleşmeye hazır
- Tüm endişeler giderildi
- Kalite standartlarını karşılıyor
Değişiklik İste:
- Birleştirilmeden önce sorunlar düzeltilmeli
- Belirli geri bildirim sağlandı
- Yazar endişeleri gidermeli
En İyi Uygulamalar
Yazarlar İçin
Göndermeden Önce:
- ✅ Önce kodunuzu self-review edin
- ✅ Kodun derlendiğinden ve testlerin geçtiğinden emin olun
- ✅ Açık PR açıklaması yazın
- ✅ Büyük değişiklikleri daha küçük PR'lara bölün
- ✅ Karmaşık mantık için yorumlar ekleyin
- ✅ Yeni özellikler için testler dahil edin
İnceleme Sırasında:
- ✅ Tüm yorumlara yanıt verin
- ✅ Saygılı ve profesyonel olun
- ✅ Gerekçenizi açıklayın
- ✅ İstenen değişiklikleri hemen yapın
- ✅ Güncellemeleri aynı branch'e push edin
- ✅ Zamanları için inceleyicilere teşekkür edin
İnceleyiciler İçin
İnceleme Süreci:
- ✅ Hızlı inceleyin (24 saat içinde)
- ✅ Yapıcı olun, eleştirel değil
- ✅ Sadece ne değil, neden olduğunu açıklayın
- ✅ Belirli iyileştirmeler önerin
- ✅ İyi uygulamaları takdir edin
- ✅ Değişikimler karmaşıksa yerel olarak test edin
Yorum Türleri:
Sorular:
"Bu boş bir dizi alırsa ne olur?"
Öneriler:
"Daha iyi performans için burada map kullanmayı düşünün"
Noktalar:
"Not: Satır 42'de fazladan boşluk"
Engelleyiciler:
"Birleştirmeden önce bu hata durumunu yönetmeli"
Kod İnceleme Kontrol Listesi
İşlevsellik
Kod Kalitesi
Güvenlik
Performans
Test
Belgeler
İnceleme Yorumlarını Çözme
Değişiklik Yapma
# İstenen değişiklikleri yap
# Dosyaları düzenle...
# Değişiklikleri commit et
git add .
git commit -m "İnceleme yorumlarını ele al"
# PR'ı güncellemek için push et
git push origin feature/yeni-ozellik
Çözüldü Olarak İşaretleme
- Yorumu kodda veya tartışmada ele alın
- İnceleyiciyseniz "Konuşmayı çöz" tıklayın
- Tüm istenen değişikliklerin ele alındığından emin olun
Takip İncelemeleri
Değişiklikler yapıldıktan sonra:
- İnceleyiciler güncellenmiş kodu yeniden inceler
- Memnunlarsa onaylar
- Gerekiyorsa daha fazla değişiklik ister
- Tüm endişeler giderildiğinde birleştirir
Birleştirme
Ne Zaman Birleştirilir
- ✅ Tüm istenen değişiklikler ele alındı
- ✅ En az bir onay (veya gerekli sayı)
- ✅ Tüm CI kontrolleri geçiyor
- ✅ Birleştirme çakışması yok
- ✅ Takım hazır olduğuna katılıyor
Birleştirme Yöntemleri
Birleştirme Commit'i:
- Tüm commit'leri korur
- Birleştirme commit'i oluşturur
- Özellik branch'leri için en uygun
Sıkıştır ve Birleştir:
- Tüm commit'leri tek bir commit'te birleştirir
- Temiz geçmiş
- Küçük PR'lar için en uygun
Rebase ve Birleştir:
- Commit'leri hedef branch'e rebase eder
- Doğrusal geçmiş
- Temiz geçmişi korumak için en uygun
Sonraki Adımlar