कहां से शुरू करें, इसलिए मैंने यूनिट परीक्षण कुछ किया है, और अनुभव लेखन परीक्षण हैं, लेकिन मैंने टीडीडी को डिज़ाइन टूल के रूप में पूरी तरह से गले लगा लिया नहीं है।टीडीडी: पहला टेस्ट
मेरा वर्तमान प्रोजेक्ट मौजूदा सिस्टम को फिर से काम करना है जो कंपनियों की असेंबली प्रक्रिया के हिस्से के रूप में धारावाहिक संख्या उत्पन्न करता है। मौजूदा सिस्टम को देखने के कारण मुझे वर्तमान प्रक्रिया और वर्कफ़्लो की समझ है। मेरे पास नई आवश्यकताओं की एक सूची है और वे कार्य प्रवाह को संशोधित करने जा रहे हैं।
मुझे लगता है कि मैं प्रोग्राम लिखना शुरू करने के लिए तैयार हूं और मैंने अंततः शुरुआत से अंत तक टीडीडी करने के लिए मजबूर करने का फैसला किया है।
लेकिन अब मुझे नहीं पता कि कहां से शुरू करना है। (मुझे यह भी आश्चर्य है कि क्या मैं टीडीडी प्रक्रिया को धोखा दे रहा हूं, पहले से ही उपयोगकर्ता के लिए कार्यक्रम प्रवाह का विचार है।)
उपयोगकर्ता प्रवाह वास्तव में धारावाहिक है और केवल चरणों की एक श्रृंखला है। उदाहरण के लिए, पहला कदम होगा:
- उपयोगकर्ता एक विनिर्माण आदेश संख्या सबमिट करता है और माल की कि आदेश बिल की serializable हिस्सा नंबरों की सूची प्राप्त करता
अगले कदम है जब उपयोगकर्ता शुरू कर दिया है भाग संख्याओं में से एक का चयन करता है।
तो मैं सोच रहा था कि मैं शुरुआती बिंदु के रूप में इस पहले चरण का उपयोग कर सकता हूं। मुझे पता है कि मुझे कोड का एक टुकड़ा चाहिए जो विनिर्माण आदेश संख्या लेता है और भाग संख्याओं की एक सूची देता है।
// This isn't what I'd want my code to end up looking like
// but it is the simplest statement of what I want
IList<string> partNumbers = GetPartNumbersForMfgOrder(string mfgOrder);
केंट बेक्स उदाहरण पुस्तक पढ़ना वह छोटे परीक्षणों को चुनने के बारे में बात करता है। यह एक बहुत बड़ा काला बॉक्स की तरह लगता है। इसके लिए एक एमएफजी ऑर्डर रिपॉजिटरी की आवश्यकता होगी और मुझे इस एमएफजी ऑर्डर के लिए सभी लागू भाग संख्याओं को खोजने के लिए एक उत्पाद संरचना पेड़ को क्रॉल करना होगा और मैंने कोड में अपने डोमेन मॉडल को भी परिभाषित नहीं किया है।
तो एक हाथ पर जो एक क्रोधित शुरुआत की तरह लगता है - एक बहुत ही सामान्य उच्च स्तरीय फ़ंक्शन। दूसरी तरफ, मुझे लगता है कि अगर मैं निचले स्तर पर शुरू करता हूं तो मैं वास्तव में अनुमान लगा रहा हूं कि मुझे क्या चाहिए और ऐसा लगता है कि एंटी-टीडीडी लगता है।
एक साइड नोट के रूप में ... क्या आप कहानियों का उपयोग करेंगे?
मैं एक MFG आदेश पर भाग नंबरों की सूची प्राप्त करने के लिए तो यह है कि मैं जो एक क्रमानुसार करने
सच्चा होना करने के लिए चुन सकते हैं चाहते हैं एक कोडांतरक के रूप में, एक कोडांतरक कहना कभी नहीं होगा कि।
एक कोडांतरक मैं एक सीरियल नंबर साथ भागों चिह्नित करने के लिए तो यह है कि मैं MFG आदेश पर आपरेशन समाप्त कर सकते हैं
आप कहानी, लाभ का तीसरा हिस्सा भूल गए। आपके पास कार्यान्वयन विवरण भी है, जो कोई व्यावसायिक लाभ नहीं लेता है (धारावाहिक)। मैं कहूंगा कि एक बेहतर कहानी कुछ ऐसा होगा जैसे "एक उपयोगकर्ता के रूप में मैं एक विनिर्माण आदेश संख्या और उस आदेश के भाग संख्याओं की एक सूची जमा करना चाहता हूं ताकि मैं सूची सूची में सूची भेज सकूं"। –
उस संदर्भ में Serializable कार्यान्वयन नहीं है, यह एक डोमेन शब्द है जो इंगित करता है कि कौन से हिस्से एक धारावाहिक संख्या सहन कर सकते हैं, इसलिए यह महत्वपूर्ण है (जहां तक मैं आवश्यकताओं को समझता हूं)। –
यदि ऐसा है, तो आप सही हैं। डोमेन विशेषज्ञता सब कुछ है। –