Ana içeriğe geç

Code Review

Türkçe karşılığı
kod incelemesi
Okunuşu
kod rivyu

Günlük kullanımda iki ad da yaygın.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/code-review

Kısaca

Code review, kod değişikliklerinin birleştirilmeden önce başka geliştiricilerce incelenmesidir; hataları yakalar, kaliteyi artırır, bilgi paylaşımını sağlar.

Code review (kod incelemesi) nedir?

Code review'da bir ya da birkaç ekip arkadaşı, önerilen bir değişikliği ana kod tabanının parçası olmadan önce baştan sona okur. Kodun çalıştığını, anlaşılır olduğunu, ekibin kurallarına uyduğunu ve güvenlik sorunları ya da gereksiz karmaşıklık getirmediğini kontrol ederler. Yazar daha sonra geri bildirime yanıt verir, değişiklikleri yapar ve inceleyenler onayladığında birleştirir.

Bugün çoğu kod incelemesi GitHub, GitLab veya Bitbucket gibi barındırma platformlarındaki pull request'lerde yapılır. İnceleyenler, hangi satırların eklendiğini, silindiğini ya da değiştirildiğini gösteren bir görünüm olan diff'i görür; belirli satırlara yorum yapabilir, düzenleme önerebilir, onaylayabilir ya da değişiklik isteyebilir. Otomatik araçlar genellikle önce çalışır; linter'lar, biçimlendiriciler, testler ve güvenlik tarayıcıları mekanik denetimleri üstlenir, insanlar da mantığa, tasarıma ve okunabilirliğe odaklanır.

Code review, göndermeden önce önemli bir e-postayı bir meslektaşınıza okutmaya benzer: taze bir çift göz, sizin artık fark etmediğiniz hataları ve belirsiz ifadeleri yakalar. Hataları yakalamanın ötesinde incelemeler, sistemin her bölümünü birden fazla kişinin anlamasını sağlayarak bilgiyi yayar ve yeni geliştiricilerin kod tabanını öğrenmesine yardımcı olur. Birçok ekip artık ek bir inceleyici olarak yapay zeka asistanlarını da kullanıyor, ancak nihai onayı genellikle hâlâ bir insan veriyor.

Code review bazen testle karıştırılır. Testler davranışı otomatik olarak denetler; inceleme ise testlerin yapamayacağı şeyleri denetler: yaklaşımın mantıklı olup olmadığını ve bir sonraki geliştiricinin bunu anlayıp anlamayacağı gibi. İyi incelemeler zamanında yapılır, kişiye değil koda odaklanır ve en iyi küçük değişikliklerde işler; çünkü yüzlerce satırı bir seferde incelemek çabucak gözü kapalı onaylara yol açar.

Önemli noktalar

  • Code review, kod değişikliklerinin birleştirilmeden önce meslektaşlar tarafından kontrol edilmesidir.
  • Genellikle bir pull request içinde, belirli satırlara yapılan yorumlarla gerçekleşir.
  • Otomatik denetimler biçimlendirmeyi ve testleri üstlenir; insanlar mantığa, tasarıma ve anlaşılırlığa odaklanır.
  • İncelemeler hataları erken yakalar ve bilgiyi ekip içinde yayar.
  • Küçük değişiklikler ile nazik ve somut geri bildirim, incelemeleri daha hızlı ve etkili kılar.

Örnek

Bir branch'i komut satırından incelemekbash
# Fetch the branch under review and see what it changes
git fetch origin
git log --oneline main..origin/feature/checkout
git diff main...origin/feature/checkout

# Check out the branch locally to run it and its tests
git switch feature/checkout
npm test

# With a hosting platform's CLI (GitHub's is shown), submit the review
gh pr review 123 --approve --body "Looks good, thanks!"
gh pr review 123 --request-changes --body "Please add a test for empty carts."

Sık sorulan sorular

Bir code review'da nelere bakmalıyım?

Değişikliğin iddia ettiği işi yaptığını, uç durumları ve hataları ele aldığını, okunabilir olduğunu ve mevcut tasarıma uyduğunu kontrol edin. Ayrıca güvenlik sorunlarına, eksik testlere ve gereksiz karmaşıklığa bakın; stil ayrıntılarını ise otomatik biçimlendiricilere ve linter'lara bırakın.

Code review ile pull request arasındaki fark nedir?

Pull request, bir değişikliğin birleştirilmesini önermenin mekanizmasıdır. Code review ise o değişikliği inceleme faaliyetidir; genellikle bir pull request içinde gerçekleşir, ancak yüz yüze ya da pair programming ile de yapılabilir.

Yapay zeka insan kod incelemesinin yerini alabilir mi?

Yapay zeka araçları yaygın hataların, stil sorunlarının ve güvenlik risklerinin çoğunu hızlıca yakalayabilir ve giderek daha çok ilk inceleyici olarak kullanılıyor. Ancak bir ekibin hedeflerini, ürün bağlamını ya da tasarım ödünleşimlerini henüz güvenilir biçimde anlamıyorlar; bu yüzden çoğu ekip birleştirmeden önce hâlâ insan onayı şart koşuyor.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar