Test yaptıktan sonra test yazmanın maliyeti daha fazla olur.
Bir böcek ne kadar uzun yaşarsa, düzeltmesi de o kadar pahalı olur.
Azalan verim yasası, hata bulunmadığından emin olmak için kendinizi zorbalık içinde test etmenizi sağlar.
Buda orta yolun bilgeliğini öğretti. Testler iyi. Çok iyi bir şey gibi bir şey var. Anahtar ne zaman dengesiz olduğunu söyleyebilir.
Testler olmadan yazdığınız her kod satırı, kodları yazmadan önce testleri yazmış olmanıza göre daha sonra test eklemek için önemli ölçüde daha yüksek maliyetlere sahip olacaktır.
Testlerin olmadığı her kod satırında hata ayıklamak veya yeniden yazmak çok daha zor olacaktır.
Yazdığınız her test zaman alacaktır.
Her hatanın düzeltilmesi zaman alacaktır.
Sadık, önce başarısız bir test yazmadan tek bir kod satırı yazmamanızı söyleyecektir. Test, beklediğiniz davranışa ulaşmanızı sağlar. Test davranışın aynı olduğunu kanıtladığından, sistemin geri kalanını etkilemek için endişelenmeden kodu hızlıca değiştirmenize olanak tanır.
Tüm bunları, testlerin özellik eklemediği gerçeğine karşı tartmalısınız. Üretim kodu özellikler ekler. Ve özellikleri faturaları öder.
Pragmatik konuşmak gerekirse, kaçabileceğim tüm testleri ekliyorum. İzleme testleri lehine olan yorumları görmezden geliyorum. Yaptığımı düşündüğüm şeyi yapmak için bile koduna güvenmiyorum. Testlere güvenirim. Ama ara sıra selamları atıp, şanslı olduklarını biliyordum.
Ancak, birçok başarılı kodlayıcı TDD yapmaz. Bu test etmedikleri anlamına gelmez. Sadece her kod satırının kendisine karşı otomatik bir test yapması konusunda takıntılı bir şekilde ısrarcı değiller. Bob Amca bile kullanıcı arayüzünü test etmediğini itiraf ediyor. Ayrıca, tüm mantığı kullanıcı arayüzünden çıkarmanız için ısrar ediyor.
Bir futbol metaforu olarak (bu Amerikan futbolu) TDD iyi bir yer oyunudur. Yalnızca bir kod yığını yazdığınız ve çalıştığını umduğunuzu test etmek için el ile geçen bir oyundur. Her ikisinde de iyi olabilirsin. Her ikisini de yapamazsan, kariyerin playoff yapmayacak. Her birini ne zaman seçeceğinizi öğrenene kadar superbowl yapmaz. Ancak belirli bir yönde bir dürtmeye ihtiyacınız varsa: yetkililer geçerken bana karşı daha sık görüşüyorlar.
TDD'yi denemek istiyorsanız, işte yapmayı denemeden önce pratik yapmanızı öneririm. TDD yarı yolda yapıldı, yarı yürekli ve yarı eşi bazılarının saygı duymamasının büyük bir nedeni. Bir bardak suyu diğerine dökmek gibi bir şey. Hızlı ve eksiksiz bir şekilde taahhüt ve işlem yapmazsanız, masanın her yerine su damlatıyorsunuz.