Bu ortamda yeniden düzenlemeyi zorlaştırmak için bir araya getirilen çeşitli sorunlar var. Buna karmakarışık teknik olmayan bazı problemler var ("ama bu bir yönetim sorunu ve henüz kazanmadığım bir savaş").
İlk bakılması gereken sorun uzun süredir devam eden şubedir. Bu dallar, geliştiricinin görüşü dışındaki değişiklikleri takip etmekte zorlanıyor. Bunu ele almak için:
- Kod tamamlandığında - bir kez daha verin (isterlerse müşteri desteğinin bakmasına izin verin), ancak çabucak gelişmesi için birleştirin, böylece bağımlı olan diğer değişikliklerin alınabilmesi ve bu çatışmanın erken tanımlanması gerekir süreç içerisinde.
- Bazı nedenlerden dolayı, bir yeniden bağlama işlemi devam ederken bir braşun uzun sürmesi durumunda, değişiklikleri almak ve yeniden toplamak için ahırdan şubeye birleşme iyi bir uygulama olma eğilimindedir. Çoğu zaman bu özellik, özellik dalından sabit dalına birleşme konusundaki çatışmaları ve sürprizleri en aza indirir.
- Tüm dış entegrasyon testlerinin özelliklerde değil bültenlerde yapılması gerekiyor . Bu ortamda özellikler sisteme tam olarak entegre olabilir veya olmayabilir. İzolasyonda özellik üzerinde bir akıl sağlığı kontrolü yapılması mümkün olmakla birlikte, piyasaya sürüldüğünde sorunları tanımlamaz.
- Kod tamamlama zamanından birleşmeye (gelişmesine izin verin - master / stable / release'ten dallanma) en son geliştirme değişikliklerini almama konusunda kendi sorunları vardır) çok uzun olmamalıdır. Ne kadar uzun süre beklerseniz, o kadar fazla bilgi kaybedilir ve kodun diğer kod satırlarıyla bütünleşmesi zorlaşır.
Buna karıştıran bir diğer konu da, yukarıdaki hususlara değindiğim: Şubenin zaman içindeki değişen rolü. Geliştiricilerin taahhüt ettiği bir geliştirme dalı olarak başlar ve daha sonra bir test alanı haline gelir (burada tüm uygulama için anlamlı olabilecek hangi test yapılıyor?). tekrar test edildi?).
Daha kısa bir özellikle, zamanın bitimine başlaması ile yeniden yapılanma işleminin diğer dallar tarafından alınabilmesi daha kolaydır.
Geliştiricileri tüm çevreye ulaşmaya teşvik edin. Sadece kiraz toplama değişiklikleri yol açabilir ... ilginç geliştirici ortamlar diyelim. Vişne toplamanın kullanımları olmasına rağmen, bir dalın içine değişiklik yapmanın varsayılan modu olması endişe verici olabilir.
Yeniden düzenleme, ideal olarak sürekli yapılan bir işlemdir veya sürekli olarak bir aksaklık süresinin olmadığı durumlarda sürekli yapılmaz. Şube, basit bir yeniden düzenleme işlemi yapın, her şeyin hala çalıştığını doğrulamak için ünite testlerini yapın (ünite test edildi, değil mi? Doğru? ) Ve sonra tekrar kararlı hale getirin. Diğer geliştiricilerin, yeniden dalladığınız değişiklikleri kendi şubelerine çekmeleri için bilgileri iletin.
Geliştiricilerin kodun kalitesine sahip olması önemlidir. Özelliklerin yönü dışardan gelirken ve zaman tahsisleri çoğu zaman kendimize ait olmasa da, kod kalitesi gurur duymak ve zaman kazanmak için gerekli olan bir şeydir.
Teknik borçlarla başa çıkmak için zaman ayırma arayışında aşağıdaki soruları yararlı bulabilirsiniz:
Ayrıca , kod yeniden düzenleme için en fazla çalışmayı gerektiren alanların belirlenmesine yardımcı olabilecek sonar gibi araçlara da bakabilirsiniz. Teknik borç eklentisi kod tabanı zamanla borç birikimi dışarı yardım noktasına kullanılabilecek bir şeydir.
Genellikle , teknik borçlarla ilgilenmek için yatırım getirisinin , geliştirme ekibinin özellikleri ve hata düzeltmeleri için daha hızlı bir geri dönüş süresi olduğunu belirtmek gerekir .