यह एक बल्कि मूर्खतापूर्ण सवाल हो सकता है क्योंकि मैं टीडीडी में अपने पहले प्रयास में हूं। मुझे विश्वास है कि यह मेरे कोड की संरचना और आम तौर पर बेहतर संरचना को प्यार करता था, लेकिन जब मैंने इसे एक-वर्ग के खिलौने के उदाहरणों से कुछ बड़ा करना शुरू किया, तो मैं मुश्किलों में भाग गया।
मान लीजिए, आप एक तरह की लाइब्रेरी लिख रहे हैं। आप जानते हैं कि यह क्या करना है, आप सामान्य तरीके से जानते हैं कि इसे कैसे लागू किया जाना चाहिए (आर्किटेक्चर वार), लेकिन आप "खोज" करते रहते हैं कि आपको कोड के रूप में अपने सार्वजनिक एपीआई में बदलाव करने की आवश्यकता है। शायद आपको इस निजी पद्धति को रणनीति पैटर्न में बदलने की आवश्यकता है (और अब अपने परीक्षणों में एक नकली रणनीति को पारित करने की आवश्यकता है), शायद आपने यहां और वहां एक जिम्मेदारी को गलत तरीके से रखा और एक मौजूदा वर्ग को विभाजित किया।
जब आप मौजूदा कोड में सुधार कर रहे होते हैं, तो TDD वास्तव में एक अच्छा फिट लगता है, लेकिन जब आप स्क्रैच से सब कुछ लिख रहे होते हैं, तो जिस एपीआई के लिए आप परीक्षण लिखते हैं वह थोड़ा "धुंधला" होता है जब तक कि आप एक बड़े डिज़ाइन को सामने नहीं करते। जब आप पहले से ही उस परीक्षण पर 30 परीक्षण कर चुके हैं, जिसमें उसके हस्ताक्षर थे (और उस भाग, व्यवहार के लिए) तो क्या हुआ? एक बार जोड testsे के बाद उन्हें बदलने के लिए कई परीक्षण करने होंगे।