Klasik problem. Asla doğru yapmak için yeterli zaman, işi tekrar yapmak için yeterli zaman. İnsanlar en iyi uygulamaları yapmaya başlayana kadar, en iyi uygulamaları yapmak için asla yeterli zaman olmayacaktır. Özellikle kazançlar geliştirme dışındaki insanlara görünmez olduğu için.
Kod incelemesi için anahtar, mümkün olan en kısa sürede kodu mümkün olan en kısa zamanda gözden geçirmek istemenizdir. Bu şekilde, incelemek için zaman kazanmak daha kolay olur, kod insanların zihninde taze ve önerilen iyileştirmeleri uygulamak daha kolay olacaktır. Aşırı olarak, her bir check-in'i gözden geçirmek istersiniz. Bunu otomatikleştirmek için iyi bir araç http://code.google.com/appengine/articles/rietveld.html . Google'ın, her check-in sırasında kod incelemesini yapmaya zorlamak için dahili olarak kullandığı aracın bir çeşididir.
Kod incelemesinin zorluğu onlarca yıl önce klasik Bilgisayar Programlama Psikolojisi'nde açıklanmıştır . Sorun, programcıların kendi imajlarını programlama becerilerine bağlama eğiliminde olmasıdır. Bu, programcıların becerilerinin enfiye olmadıklarına dair kanıtlarla karşı karşıya kaldıkları anlamına gelir, kişisel olarak alma eğilimi vardır. Bu ciddi çatışmalara neden olabilir. Steve McConnell'in klasik Hızlı Gelişimini alırsanız , bu tür çatışmaların olasılığını azaltan bir kod inceleme sürecinin nasıl kurulacağı konusunda bir dizi öneri sunar. (Önemli bir unsur, yönetimin sürece hiçbir zaman katılmadığından emin olmaktır.) Bunun çatışma olasılığını azalttığını, ancak çatışmanın olmasını engellemediğini unutmayın.
Bununla birlikte, faydalar maliyetlerden çok daha ağır basmaktadır. Sadece bir metriğe değinmek için IBM, kod incelemesinin dolar için dolar olduğunu, hataları bulmanın ve ortadan kaldırmanın en etkili yolunu buldu. Bu, KG departmanınızın hiçbir şekilde yerine geçmez. Ama bu onların bulmaları için çok daha az sorunla sonuçlanır. Ve bu, öğrenmeyi ne kadar hızlandırdığını, bilgiyi yaydığını vb.