İşimde çok basit bir kuralımız var: değişiklikler, bir birleştirmeden veya bagaja bağlanmadan önce en az bir geliştirici tarafından incelenmelidir . Bizim durumumuzda bu, diğer kişinin fiziksel olarak bilgisayarınızda sizinle birlikte oturması ve değişim listesine girmesi anlamına gelir. Bu mükemmel bir sistem değildir, ancak yine de kod kalitesini gözle görülür biçimde iyileştirmiştir.
Eğer kodunuzun gözden geçirileceğini biliyorsanız, ilk önce sizi incelemeye zorlar. O zaman birçok sorun ortaya çıkıyor. Sistemimiz altında, gözden geçirene ne yaptığını açıklamalısınız, bu da daha önce kaçırmış olabileceğiniz sorunları fark etmenize neden olur. Ayrıca, kodunuzdaki bir şey derhal gözden geçiren için net değilse, bu daha iyi bir isim, yorum veya yeniden düzenleme yapılması gerektiğinin iyi bir göstergesidir. Ve tabii ki, eleştirmen de problemler bulabilir. Ayrıca, değişime bakmaya ek olarak, gözden geçiren yakın koddaki sorunları da fark edebilir.
Bu sistemin iki ana dezavantajı var. Değişim önemsiz olduğunda, gözden geçirilmesi çok az mantıklıdır. Ancak, değişiklikleri yapmadıklarında “önemsiz” ilan etme kayganlık eğiminden kaçınmak için kesinlikle kurallara bağlı kalmalıyız. Öte yandan, bu, sistemdeki önemli değişiklikleri veya büyük yeni bileşenlerin eklenmesini gözden geçirmek için iyi bir yol değildir.
Bir geliştiricinin, ekibin geri kalanına incelenmek üzere e-postayla göndereceği ve ardından tüm ekibin bir araya gelip tartışacağı daha önce daha resmi incelemeler denedik. Bu herkesin çok zaman aldı ve sonuç olarak bu incelemeler az ve çok arasındaydı ve kod tabanının sadece küçük bir yüzdesi gözden geçirildi. "Başka bir kişi, taahhütte bulunmadan önce değişiklikleri gözden geçirdi" bizim için çok daha iyi çalıştı.