Bu kurala katılmıyorum ve Mason Wheeler'ın ne dediğine katılıyorum . Birkaç fikir eklemek istiyorum.
Her seferinde taahhüdümde anlamlı bir değişiklik yaptığımı kabul etmeye çalışıyorum: birkaç küçük hata giderirsem, günde birkaç kez veya geri kalanı tarafından kullanılamayan daha büyük bir yazılım parçası üzerinde çalışıyorsam haftada bir kez yapabilirim. Kod, tutarlı bir duruma ulaşana kadar anlamlı bir şekilde kodlayın.
Ayrıca, taahhüt vermeyi, kod tabanına yeni işlevsellik sağlayan anlamlı bir revizyon yayınlamak olarak yorumluyorum . Başka geliştiricilerin revizyon geçmişine baktıklarında değişimin anlamını ve amacını anlayabilmesi için bir kişinin taahhütte bulunmadan önce kodu temizlemeye çalışması gerektiğini düşünüyorum. Diğer geliştiricilerin geçmişte gördükleri daha az değişiklik olursa, daha iyi: revizyon geçmişine baktığımda anlamlı işlevsellik katan artışları görmek isterim; Her geliştiricinin çözüme ulaşmadan önce sahip olduğu ve denemek istediği her küçük fikirle ilgilenmiyorum.
Ayrıca, SVN sunucusunu (veya hangi sürüm kontrol sistemi olursa olsun) kodun güncel anlık görüntüsünün bağlı olduğu bir yedekleme tesisi olarak kullanmanın iyi bir fikir olduğunu sanmıyorum (derlemesi şartıyla): USB bellek kullanabilirsiniz ya da harici bir USB sürücüsü ya da bir ağ diski mevcut kodunuzu yansıtır, böylece bilgisayarınız bozulursa kaybolmaz. Revizyon kontrolü ve veri yedekleme iki farklı şeydir. Bir revizyon yayınlamak
, kodunuzun anlık görüntüsünü kaydetmekle aynı değildir .
Son olarak, her zaman ve sonra (örneğin yalnızca kodun mevcut durumundan gerçekten memnun olduğunda) ve birleştirme çatışmalarından kaçınmanın bir sorun olmaması gerektiğini düşünüyorum (çoğu zaman da) işlemek için iyi bir gerekçe değildir. Farklı kişiler aynı anda aynı dosyalar üzerinde çalıştığında, bu kötü bir uygulama olduğu için birçok birleştirme çatışması yaşanır (bkz. Örneğin bu makale , 7. nokta). Birleştirme anlaşmazlıkları bir projeyi açık ara yüzlere ve mümkün olduğunca az bağımlılığa sahip modüllere bölerek ve geliştiricilerin çalışmalarını koordine ederek, üzerinde çalıştıkları kodun mümkün olduğu kadar az çakışmasıyla azaltılmalıdır.
Sadece 2 sentim.
DÜZENLE
Aklıma gelen erken taahhütlere karşı bir başka neden de (çok) bir buggy sürümünün test edilememesidir. Bagajda çalışıyorsanız ve test ekibiniz her gün test yapıyorsa, birkaç saat boyunca (veya bir gün boyunca) test edilebilir sürümleri olmayabilir. Hatayı düzeltmeye çalışıp değişikliklerinizi geri almayı denemeseniz bile, yeniden oluşturma birkaç saat sürebilir. Diyelim ki, ekibinizde çalışan beş testçi, hareketsizlik nedeniyle ekibin zamanını 5 x 2 = 10 saat harcadınız. Bana bir kez oldu, bu yüzden en kısa zamanda taahhüt adına erken taahhütlerden kaçınmaya çalışıyorum .