Bu ilginç bir soru ve cevap düşündüğünüzden daha kolay olabilir.
Basitçe söylemek gerekirse, varsayımlarınızı doğrulayan testleri yazın. Uygulamayı veya diğer programcılarınızı yaparsanız farketmez
Uzun cevap.
Listelenen seçeneklerden herhangi biri biraz pasif, geri dönüp kodu (varsa) er ya da geç tekrar etmenizi gerektirir .
- Yorumlar , uygulamadan sorumlu olan meslektaşınız tarafından okunmalı ve kullanılmalıdır. Bu arada kodunuz derlenemez. Böyle bir durumu bir kod deposunda kontrol ederseniz, sürekli entegrasyon boru hattınız çalışmaz ve yine de kötü bir uygulamadır ... hiçbir zaman hatalı kodları kontrol etmeyin
- Çalışma zamanı istisnaları daha iyi görünüyor, ancak yine de toksik. Çünkü program arkadaşınız, uygulamanın zaten kontrolsüz bir şekilde yapıldığını ve sistemi dengesiz bir durumda bıraktığını varsayabilir. Metot çok sık tetiklenmezse, üretim kodunun kırılmasına neden olabilir ... kötü uygulama da ... "uygulanmayan" istisnaları asla kontrol etmeyin
- Programcı arkadaşlarınızın metot veya saplama uygulaması için beklemesi de göz korkutucu. İş akışınızı ve diğer programcılarınızın iş akışını bozar. Hastalarsa, bir toplantı agında, kahve molasında, vaktinizi beklemek ister misiniz? ... zorunda kalmazsan birini beklemeyin
- Eksik yöntemleri kesinlikle ilerlemenin en iyi yolu uygulayın. Ancak, uygulamanız tüm kullanım durumunu karşılamıyorsa ve programcı arkadaşlarınızın değiştirmesi veya değiştirmesi gerekiyorsa ne olur? Siz ve onlar bunun hala amacınıza uygun olduğundan nasıl emin oluyorsunuz? Cevap yine kolay. Niyetinizi doğrulayan, açıklayan ve belgeleyen testler yazın. Testler kırılırsa fark etmesi kolaydır. Bu yöntemde değişiklik yapmanız gerekiyorsa, bu özelliği kırmanız gerekiyorsa hemen görürsünüz. İkinizin de iletişim kurmak ve ne yapacağınıza karar vermek için bir sebebiniz var. İşlevselliği bölmek mi? Uygulamanızı değiştirin, vb. Hiçbir zaman testler tarafından yeterince belgelenmeyen kodları kontrol etmeyin.
Yeterli bir test seviyesine ulaşmak için iki disipline bir göz atmanızı öneririm.
TDD - test odaklı geliştirme - amacınızı tanımlamanızı ve yeterince test etmenizi sağlayacaktır. Ayrıca, henüz uygulanmayan yöntem ve sınıflarla (ayrıca arayüzleri kullanarak) alay etme ya da sahte olma imkanı sunar. Kod ve testler yine de derlenecek ve diğer programcılarınızın koduna göre kendi kodunuzu test etmenize izin verecektir. (bkz: https://en.wikipedia.org/wiki/Test-driven_development )
ATDD - kabul testine dayalı geliştirme - bu özelliği bir bütün olarak test etmenize yardımcı olan bir dış döngü (TDD döngüsü etrafında) yaratacaktır. Bu testler yalnızca tüm özellik uygulandığında yeşile döner, böylece arkadaşlarınız işlerini tamamladığında size otomatik bir gösterge verir. Bana sorarsanız oldukça temiz.
Uyarma: Sizin durumunuzda, sadece basit kabul testleri yazacağım ve işe başlamak için çok fazla olduğu gibi çok fazla iş tarafı getirmeye çalışmadım. Özelliğin gerektirdiği sistemin tüm parçalarını bir araya getiren basit entegrasyon testleri yazın. Gereken tek şey bu
Bu, kodunuzu Sürekli Entegrasyon boru hattına koymanıza ve oldukça güvenilir bir uygulama üretmenize olanak sağlar.
Bu konuda daha fazla bilgi edinmek istiyorsanız, aşağıdaki bağlantıları kontrol edin: