Does TDD mean not thinking about class design? के समान, मुझे इस बारे में सोचने में परेशानी हो रही है कि परंपरागत 'डिज़ाइन' चरण टीडीडी में फिट बैठता है।आप टीडीडी के साथ जटिल सिस्टम कैसे डिजाइन करते हैं?
बॉलिंग गेम काटा ('वार्तालाप' संस्करण के अनुसार, जिसका लिंक मुझे इस समय से बचता है) के अनुसार टीडीडी प्रारंभिक डिजाइन निर्णयों को अनदेखा करता है (फ्रेम ऑब्जेक्ट, रोल ऑब्जेक्ट इत्यादि को छोड़ दें)। मैं उस उदाहरण में देख सकता हूं कि परीक्षणों का पालन करना और अपने शुरुआती डिजाइन विचारों को अनदेखा करना एक अच्छा विचार है, लेकिन बड़ी परियोजनाओं में या जहां आप विस्तार/अनुकूलन के लिए खुलना छोड़ना चाहते हैं, तो क्या चीजों को रखना बेहतर नहीं होगा कि आपके पास समय लेने वाली रीराइट्स से बचने के लिए तत्काल आवश्यकता नहीं है या इसके लिए कोई आवश्यकता नहीं है?
संक्षेप में - टीडीडी करते समय कितना डिज़ाइन बहुत अधिक है, और मैं उस डिज़ाइन का पालन कैसे करूँगा क्योंकि मैं परीक्षण लिखता हूं और उन्हें पास करने के लिए कोड (मेरे डिज़ाइन को अनदेखा करने के बारे में केवल चिंता करने के लिए)?
या मैं कुछ भी नहीं के बारे में चिंता कर रहा हूँ, और कोड बस परीक्षण है नहीं (व्यवहार में) को फिर से लिखने या refactor करने के लिए मुश्किल है, तो आप एक कोने में चित्रित कर रहे हैं पालन करने के लिए लिखा? वैकल्पिक रूप से, क्या मैं बिंदु खो रहा हूं और मुझे होने की उम्मीद है जब मैं कार्यक्षमता के एक नए खंड का परीक्षण करने के लिए कोड के भाग को फिर से लिखूं?
+1 'टीडीडी का हिस्सा रेफैक्टरिंग' के लिए +1 है: परीक्षण के दौरान आवश्यक परिवर्तनों को दर्शाने के लिए डिज़ाइन को अद्यतन करने की आवश्यकता होगी। –
धन्यवाद तो - इसलिए मुझे बिंदु याद आ रहा है, और रिफैक्टरिंग/पुनर्लेखन इस उभरते डिजाइन का हिस्सा है। जानना अच्छा है, अब कुछ के साथ कोशिश करने के लिए! –