GÜNCELLEŞTİRME
4 kişilik küçük bir devs ekibi üzerinde çalışıyorum. Hepsi kaynak kontrolünü kullandılar. Bir çoğu kaynak kontrolüne dayanamıyor ve bunun yerine kullanmamayı tercih ediyor. Kaynak kontrolünün profesyonel gelişimin gerekli bir parçası olduğuna kuvvetle inanıyorum. Birkaç sorun onları kaynak kontrolü kullanmaya ikna etmeyi çok zorlaştırıyor:
- Takım, TFS kullanmaya alışkın değil . 2 eğitim seansı yaptım, ancak yalnızca 1 saat verildi, bu da yetersizdi.
- Ekip üyeleri doğrudan sunucudaki kodu değiştirir. Bu kod senkronizasyonun dışında tutar. Sadece en son kodla çalıştığınızdan emin olmak için karşılaştırma yapılması gerekiyor. Ve karmaşık birleştirme sorunları ortaya çıkıyor
- Geliştiriciler tarafından sunulan zaman tahminleri, bu sorunlardan herhangi birini çözmek için gereken süreyi hariç tutar. Öyleyse, hayır deyince 10 kat daha uzun sürer ... Bu sorunları sürekli açıklamak ve kendimi riske atmak zorundayım çünkü şimdi yönetim beni “yavaş” olarak algılayabilir.
- Sunucudaki fiziksel dosyalar bilinmeyen şekillerde ~ 100 dosya üzerinde farklılık gösterir. Birleşme eldeki projenin bilgisini ve bu nedenle elde edemediğim geliştirici işbirliğini gerektirir.
- Diğer projeler senkronizasyondan düşüyor. Geliştiriciler, kaynak kontrolünde bir güvensizliğe sahip olmaya devam ediyor ve bu nedenle kaynak kontrolünü kullanmayarak sorunu daha da karmaşık hale getiriyor.
- Geliştiriciler, kaynak kontrolü kullanmanın zararsız olduğunu, çünkü birleşmenin hataya açık ve zor olduğunu savunuyorlar. Bu tartışılması zor bir noktadır, çünkü kaynak kontrolü çok kötü kullanılırken ve kaynak kontrolü sürekli atlanırsa, aslında hataya açıktır. Bu nedenle, kanıtlar kendi görüşlerine göre “kendisi için konuşur”.
- Geliştiriciler doğrudan sunucu kodunu değiştirmenin, TFS'yi atlamanın zaman kazandırdığını savunuyorlar. Bunu tartışmak da zor. Çünkü, başlangıç kodunu senkronize etmek için gereken birleştirme zaman alıyor. Bunu, yönettiğimiz 10+ projeyle çarpın.
- Kalıcı dosyalar genellikle web projesiyle aynı dizinde depolanır. Böylece yayınlama (tam yayınlama) kaynak kontrolü altında olmayan bu dosyaları siler. Bu aynı zamanda kaynak kontrolü konusunda güvensizliği de beraberinde getirir. Çünkü "yayıncılık projeyi bozuyor". Bunu düzeltmek (depolanan dosyaları çözüm alt klasörlerinden taşımak), bu konumlar web.config dosyasında ayarlanmadığından ve çoğu zaman birden fazla kod noktasında bulunduğundan, çok zaman alır ve hata ayıklama yapar.
Böylece, kültür kendini devam ettirir. Kötü uygulama daha kötü uygulamalara yol açar. Kötü çözümler, daha derin, çok daha fazla zaman alan sorunları düzeltmek için yeni korsanları yönlendirmektedir. Sunucular, sabit disk alanı bulmak çok zor. Ancak, kullanıcı beklentileri artıyor.
Bu durumda ne yapılabilir?