Bu yüzden çeviklik konusunda yeniyim ama test odaklı bir gelişme değil . Üniversitedeki profesörlerim testler ve sonra kodlar sonra testler hakkındaydı. Nedenini anladığımdan emin değilim. Benim bakış açıma göre, kodunuz geliştikçe büyük olasılıkla değişecek olan çok büyük bir maliyet.
TDD'yi böyle hayal ediyorum ve beni neden şaşırtıyor. TDD yüklenicisi olarak bir ev inşa etseydim.
Bana tüm özelliklerini (hikayeleri) ver.
Özellikleri onayı alın.
Tüm özellikleri incelemeye ayırın, ihtiyacım olacağını düşünüyorum (geleceğe bakın).
Bu noktalara bakmak için bir müfettiş çağırın ve bana şu anda denetimde başarısız olduğumu söyleyin (teşekkür ederim).
Evi inşa etmeye başla.
Müfettişi her gün geri ara (2/100'ü geç).
Vur, benim anlayışımda bir sorun vardı ve şimdi 9 inceleme daha eklemeliyim ve bunlardan 27'sini değiştirmem gerekiyor.
Müfettişi 1/109'u geçerek arayın.
Lanet olsun. Müfettiş neden böyle bir şey yapmıyor ... oh bu yöntem adını güncelledim ...
Biraz daha yap.
UGGGGHHHH DAHA FAZLA DEĞİŞİKLİKLER lanet müfettişi güncellememe izin veriyor. Oh, hayır, başarısız olamıyorum.
Henüz bitti mi?
Tamam, bu tuhaf olabilir, ama sadece tüm yöntemlerimi nasıl bilmem gerektiğini ve kodum gelene kadar işlerin nasıl çalışacağını bilmiyorum. Zamanın% 99'una geri dönüp bir ünite testini güncellemeliyim. Sadece geriye doğru görünüyor.
Daha uygun görünen, DDT veya geliştirme odaklı testler. Bu da toplumun unutmuş olduğu ama unutmuş gibi göründüğü bir şey.
Anladığım kadarıyla bir ev için DDT şöyle olurdu:
Bana tüm özelliklerini (hikayeleri) ver.
Şartnamelerin onayını alın ve dağıtın.
Bir birim (temel) başlatın.
Bazı zor mantıkların notlarını al.
Başlamadan önce, bir sonraki ünite denetime tabi tutulur (bir test oluşturun).
Bulunan herhangi bir sorunu düzeltin ve tekrar inceleyin.
Onaylanan bu ünite bir sonrakine geçer.
Hepimiz dürüst olmak gerekirse, bu daha insancıl ve geliştirici ve iş odaklı değil mi? Değişiklikler daha hızlı yapılabiliyor ve TDD'nin yarattığı gibi görünmüyor.