Bunu veya benzer bir git dallanma iş akışını kullanıyor musunuz?
İş yerinde benzer bir iş akışı kullanıyoruz, ancak biraz daha az karmaşık. Ancak bu makaleyi birçok kez okuduğum için bu iş akışından büyük ölçüde ilham aldı. Hatta masamın yanındaki renklerde basılmış dallanma modelinin pdf'sine sahibim :)
Bunun üretken bir yaklaşım olduğunu düşünüyor musunuz?
Üretken. Verimliliği nasıl tanımlıyorsunuz? Aklımda, en azından her zaman daha iyi kalite elde etmek için yüksek kaliteye sahip olmak çok önemlidir. Süreci sürekli iyileştirmek vb. Eğer kalite kodu üretebiliyorsanız, verimlilik bundan faydalanacaktır. Yani soru gerçekten: Bu yazılımın kalitesini artırıyor mu? Ve buna cevabım kesinlikle evet.
Bu tür dallanma modeliyle en çok sevdiğim şey, farklı kalite katmanlarında dalları tanıtmasıdır. Resimde sağda daha fazla, daha yüksek stabilite ve daha yüksek kalite. Ana dal kutsaldır ve üzerindeki tüm taahhütler yazılımın kararlı sürümleri olarak kabul edilmelidir. Ne kadar sola giderseniz, o kadar deneysel olur ve stabilite o kadar düşük olur.
Yeni özellikleri ve hata düzeltmelerini test eder etmez, yavaş yavaş soldan sağa aktarabilir ve kodun kodun talep ettiğiniz kalite gereksinimlerini karşıladığını tam olarak bildiğinizde yüksek kalitede kodla hareket edebilirsiniz. En azından teoride, her şeyi% 100'e kadar test edemezsiniz ve kodun herhangi bir hata içermediğinden emin olamazsınız, çünkü her zaman hatalar olacaktır. Ancak yüksek bir güven sağlamanızı sağlar.
Hiçbir şey, bir programcı olarak, kimsenin koda güvenmediği bir sistemde çalışmaktan daha fazla berbat değildir, çünkü sadece berbat olduğunu ve içinde bir hata yükü olduğunu bilirler.
Bu yaklaşımda herhangi bir kusur görüyor musunuz? Potansiyel bir dezavantaj var mı?
Dallanma modeliniz aracılığıyla düşünmek önemlidir, böylece kuruluşunuzun ihtiyaçlarına iyi uyum sağlar. Bu modelin bazı insanlar için iyi çalıştığı için, mutlaka başkaları için en uygun veya istenen anlamına gelmez.
Her zaman değiş tokuşlar vardır ve bu durumda bile. Bir değiş tokuş karmaşıklık karşısında şube sayısıdır. Çok sayıda farklı dal türü ekleyerek iş akışının karmaşıklığını artırırsınız. Örneğin, birkaç satır kod değiştirerek basit bir hatayı düzeltmeye çalışırken insanları her zaman yeni bir özellik dalı oluşturmaya zorlamak yanlış olabilir.
Hepimiz biliyoruz ki hataların çözümü az çok karmaşıktır. Bu nedenle, önemsiz bir hata keşfedildiğinde, ekstra yükten kurtulmak için karmaşıklığı ve yönetimi kısmak ve sadece insanların doğrudan efendiye ya da şube geliştirmesine izin vermesini isteyebilirsiniz. Ancak, düzeltmelerinizin doğası daha karmaşık hale geldikçe, onlar için yeni dallar oluşturmak için ekstra yüke değer. Özellikle boyutundan ve uzunluğundan emin değilseniz veya siz ve diğer geliştiriciler arasındaki işbirliğini geliştirmek istiyorsanız.
Daha iyi bir yaklaşımınız varsa, bir makaleyi veya onunla ilgili bir tartışmayı paylaşmak veya bir bağlantı sağlamak ister misiniz?
Bu şüphesiz iyi bir yaklaşımdır ve çoğumuz benzer gelişme süreçlerine sahip olduğu için çoğu duruma uygun olabilir, ancak herkes için uygun olmayabilir. Kodunuzu şu anda nasıl ele aldığınızı düşünmenizi ve zaten sahip olduğunuza uyan bir dallanma modeli oluşturmaya çalışmanızı şiddetle tavsiye ediyorum.
En önemli nokta git ile başlamak ve gerisi doğal olarak takip edecek. Basit başlayın ve yavaş yavaş geliştirin! Yaratıcı ol!
Şerefe