Buradaki öneri, Brad'in periyodik faturaları işleyen ve aynı zamanda Müşteri kaydını güncelleyen bir abonelik faturalandırma sistemi yaratması gerekti - C # ve xUnit.net (Brad'in Jim Newkirk ile yarattığı test çerçevesi). Birçoğu için, bu basit görünüyor. Böyle bir şeyi uygulayanlara - bu sadece bir şey.
Bu bölümde gerçekten keyif aldığım şey, Brad'i “demo kaplama” yı kaldıracak kadar ittiğimden - “Oh evet… X'i de yaptığımızı söylemiştim. ?” - ve uyum sağlamak zorundaydı.
Bir şeyi varsayan bir test dağınıklığınız olduğunda, o zaman başka bir şeye geçmelisiniz - bu kıçta bir acıdır. Ancak Brad inanılmaz derecede iyi idare etti - test sürecine daha fazla yapı itme fırsatını kullanarak, daha sonra eski testlerini yeni yaklaşıma "geçirdi".
Tüm saati tek bir kod dosyası içinde çalıştık - ve daha önce kimsenin bunu yapmadığını hiç görmemiştim. Elbette, kodun içinde bir sınıf oluşturdum - ama Brad dersten sonra sınıfın yukarı doğru dönmesini izledikten sonra yeniden adlandırın, silin, sonra testlerini tamamen yeniden yapılandırın… çok, çok ilginçti.
Her zaman TDD'nin bir “tasarım süreci” olduğunu söylerler - ama bunun gerçekten “tasarım-y” şekilde kullanıldığını hiç görmedim - tıpkı bir ressam bir tuval üzerinde renkten sonra doğru görünene / hissedilene kadar renk atabilir gibi. Ve tam da onu izlemeyi hissetti.
Brad'de yaklaşık 15 dakika, “herkese açık olana kadar test dosyasında bir sınıf bırakıyorum” ifadesinden bahsediyor - yani tasarım kararlarını haklı çıkarmak için yeterli teste sahip. Daha önce hiç düşünmediğim bir konsept - test dosyasını biraz “rahim” olarak kullanmak gibi.
Faturalandırma sisteminin yaratılmasıyla yolunu “hissetti” - her zaman kendisiyle konuştu ve 3 yıla yakın bir sürenin ardından yaşadıklarımıza yakın oldukça ilginç ve lanet bir şey yarattı.