Şimdiye kadar tüm cevapların mantıklı bir kombinasyonu olmalı. Sonunda, bir grup akıllı insandan (geliştirici) bahsederken, onlara davranışın neden önemli olduğunu göstermelisiniz ve onlara bu davranışın doğru şekilde yapılması için nasıl yatırım yapıldığı konusunda yeterince kontrol vermelisiniz . Yukarıdan gelen görevler genellikle akıllı insanlar için gevşektir, çünkü sorunun bir sorun olduğunu kabul etmedikleri takdirde, kuralı takip etmek yerine yetki etrafında çalışmak için daha fazla zaman harcayacaklardır.
İşte benim taktiklerimden birkaçı:
Taahhüt Değişiklikleri:
İlk olarak, takımın ne zaman ve ne taahhüt edeceği konusunda anlaşması gerekir. Kesinlikle önemli olan, mantıklı bir yapı kurulumudur, böylece insanlar sadece bir şeyi nereye koyacaklarını bilmedikleri için uzak durmazlar. Ve ne zaman / ne sıklıkta kontrol edileceği konusunda fikir birliği. "Yapıyı kırma" açık bir iyi kuraldır, ancak bu nasıl kontrol edilir ve kim bundan bahsedilir? Başka bir taban çizgisi ise "teslim edilmezse yapılmaz" dır.
Tanıdığım çoğu geliştirici kod IF check-in için çok mutlu:
- Check-in işlemi kolaydır
- Senkronizasyon işlemi kolaydır (diğer geliştiricilerin değişikliklerinde faktoring)
- Değişiklikleri görmek ve sürümler arasında geçiş yapmak kolaydır
Son zamanlarda fark ettiğim bir şey, yeni bir CM aracına doğru ilerlediğimizde checkin'lerin daha sık ve daha az acı çekmesiydi. Ekibimiz daha önce Clearcase'i kullanan Rational Team Concert'e öncülük ediyor. Araçların reklamını yapmak istemiyorum, ancak çok sayıda küçük, hızlı birleşmeyle yeni (bana) akışlı checkin dalgası, erken ve sık sık check-in yapmayı daha cazip hale getiriyor.
Geliştiricilerin CM ağrısını ortadan kaldırmakla sorumlu olmasına izin vermek genellikle gerçekleşen checkin miktarını artırır.
Mimarlığa Bağlılık - Görünümlerde ve Kontrolörlerde Model Sorunları Yazmamak
Bunu "mimariyi doğru bir şekilde yapın" genel kümesine koyuyorum. Akran değerlendirme kim dedi katılıyorum - akran baskısı bunun için harika. Genelde insanların bu alandaki en iyi uygulamalar için ortaya çıktığını gördüğüm yollardan biri, akranlarının onlara neden başka şekilde yaptıklarını sormasıdır (o kadar doğru değil). Genellikle "neden" sorusu, insanları neden farklı bir şekilde yapmaları gerektiğini fark etme yoluna götürecektir. İnsanlar en iyi uygulama için iyi anlaşılmış bir nedene sahip olduklarında, buna uymak çok daha kolaydır.
Ayrıca, bir kişiyi bir karara bağlayan bir formalite varsa, o zaman bu alanda hata atamak daha kolay olabilir ... yani bir kişi hatalı bir tasarım alanındaki hataları düzeltmekten sorumlu ise, daha önce bir şey alma ihtiyacı yeni bir şeye geçebilirler ve heyecan verici büyük bir motivasyon kaynağı olabilir.
Hardcoding kullanmaktan kaçının
Açık kodlama standartları ve akran incelemelerinde bir kodlama standart incelemesi entegre ile başlar. Sabit kodlama, akran değerlendirme gündeminde kolayca bir onay kutusu olabilecek şeylerden biridir.
Korkarım ki takımın rolü haline geldiğini gördüğüm tek şey kuralın uygulanmasına yol açıyor. Koştuğum takımlarda, genellikle kodlarının akran değerlendirmesinden gelen yorumları düzeltene kadar birisinin devam etmesine izin vermeyiz. Ve "sabit kodlama yok" sık bir hakem yorumu yorumudur.
Genel olarak
Hemen hemen en iyi uygulamalarla, bence savaşlarını seçmelisin. Hiçbir takım kesinlikle mükemmel olmayacak. Ancak, büyük ağrı noktalarınıza göz kulak olabilir ve bunları kümeler halinde ele almaya başlayabilirsiniz. Belirli bir bireyin can sıkıcı bir tuhaflığına karşı takım için bir ağrı noktasının ne olduğunu gerçekten bilmek liderin rolü haline geldi.
Ekibiniz belirli bir en iyi uygulamayı yapmayı kaçırıyorsa, bence ilk soru "bu ne kadar zarar veriyor?" cevap "minimal" ise, muhtemelen zaman ayırmaya değmez. Bazı en iyi uygulamalar, belirli sistem türleriyle en alakalı olanıdır - genel olarak iyi olmalarına rağmen, uygulamanın sık sık meydana geldiği veya sistemin büyük bir parçası olmadığı sistemler için savaşa değmeyebilirler.
Eğer cevap "ne kadar damange?" "ALOT !!!" ise, takıma tüm bu acı ve ıstırapların en iyi uygulamalarda bu bir gevşeme noktasını sabitleyerek giderilebileceğini göstermek için bir vaka oluşturmaya başlayabilirsiniz. Çoğu insan acı ve ıstıraptan kaçınmaktan mutluluk duyar ve bu diyaloğu "bunu size söyledim çünkü" demiştim "den," bunu daha iyi olduğu için yapmaya karar verdik "şeklinde değiştirir.