Şubeler, önceki işlerde ön taahhüt incelemelerinde kullanma deneyimime dayanarak Tamam çalışmalıdır.
O zamanlar, üretim öncesi aday koduna yönelik kritik yamalar için ön sipariş incelemelerini kullanıyorduk, bu yüzden çok fazla şube yoktu (rutin değişiklikler, taahhüt sonrası incelemelerden geçirildi).
Tüm değişiklikler için ön işlem incelemelerini kullanacağınız için, büyük miktarda şubeyi yönetmeniz gerekebilir. Geliştiricinin haftada ortalama bir "incelenebilir" değişiklik yapmasını bekliyorsanız, ekipteki her geliştirici için her yıl yaklaşık 50 şubeye sahip olursunuz. 1, 2, 3 ... gün alan küçük iş parçaları kullanıyorsanız, 50'yi 2, 3, 5 ... ile çarpın.
Aşağıda, en iyi şekilde istiyorsanız dikkate almanız gereken birkaç nokta vardır .
1. gecikme inceleme diğer ekip üyeleri için gerekli kodu engelleme durumlarda işleme
Kod inceleme son tarihleriyle ilgili çakışmaları tespit edin, izleyin ve çözün. Önceki projelerden birinde ele aldığım rutin değişikliklere ilişkin ön taahhüt incelemelerini hatırladığım için, makul süre yaklaşık 3 gündür ve endişelenmeye başlama zamanı, incelemenin gönderildikten sonra 1 günden fazla tamamlanmadığı zamandır.
Karşılaştırma için, taahhüt sonrası incelemelerde bu gereksinimler çok daha rahattır (2 hafta son tarih kullanıyorum ve 1 hafta sonra endişelenmeye başlıyorum) - ancak ön taahhüt incelemelerini hedeflediğiniz için, bu muhtemelen ilginç değil.
2. gözden geçirilmiş kodu gönderirken çakışmaları birleştir
İncelenen kodun taahhüdü, kod incelenmeyi beklerken başka biri tarafından yapılan çakışan değişiklikler tarafından engellenirse ne yapmalı?
Dikkate alınması gereken birkaç seçenek
- başlangıca geri dönme ve geliştiricilerin değişikliği yeniden uygulamalarını ve yeniden gözden
geçirmelerini gerektirme Bu durumda, ekip morali üzerinde olumsuz bir etkiyi ele almanız gerekebilir (olacaktır!).
- birleştirme sorumluluğunu diğer ekip üyelerine iletme ("birleştirme ustası")
Bu durumda, birleşmelerin kendi başına ön taahhüt incelemesinden geçip geçmeyeceğine karar vermeniz gerekir - ve eğer evet ise, bu birleşme sırayla başka bir çatışmaya denk gelir.
- birleştirme aşamasında gözden geçirilen kodda yapılan değişiklikleri yoksay
Bu durumda, işlenen kodun gözden geçirilen koddan farklı olması gerçeğiyle ilgili olarak ekip morali üzerinde olumsuz bir etkiyi ele almanız gerekebilir.
- çakışmalardan kaçınmanın bir yolunu bulma
Basit bir yaklaşım, belirli bir dosya kümesini değiştirmek için aynı anda yalnızca bir geliştiriciye izin vermektir; ancak bu, sizi doğrudan dosyaları değiştirmeyen tür değişikliklerden korumaz, ancak bunları dahili API değişiklikleri yoluyla etkiler. . Ayrıca, bu tür "kötümser kilitleme" nin sistem genelinde değişiklikler ve derin yeniden düzenlemeyi oldukça zahmetli hale getirdiğini de öğrenebilirsiniz.
Karşılaştırma için, taahhüt sonrası incelemelerde bu tür hiçbir sorun olmayacaktır (zaten tanımla birleştirilen kodla uğraştıklarından) - ancak ön taahhüt incelemelerini hedeflediğiniz için, bu muhtemelen ilginç değildir.
3. gözden geçirmeyi bekleyen geliştirici yükle
İnceleme gönderen geliştiricinin yeni bir göreve mi geçmesi veya başka bir şey yapması gerektiği konusunda açık bir politika oluşturun (örn. Gözden geçireni kovalamak gibi).
Karşılaştırma için karşılaştırma sonrası incelemelerin açık bir politikaya ihtiyacı yoktur (kod işledikten sonra bir sonraki göreve devam etmek doğaldır ve inceleme son tarihinin bir veya iki hafta olduğunu dikkate alarak) - ancak önceden taahhütlü incelemeleri hedeflediğiniz için, bu muhtemelen ilgi çekici değil.