के साथ जटिल तरीकों को विकसित करने के लिए कुछ हफ्ते पहले मैंने टीडीडी के साथ अपना पहला प्रोजेक्ट शुरू किया था। अब तक, मैंने केवल इसके बारे में एक पुस्तक पढ़ी है।टीडीडी
मेरी मुख्य चिंता: जटिल तरीकों/कक्षाओं के लिए परीक्षण कैसे लिखें। मैंने एक वर्ग लिखा जो एक द्विपक्षीय वितरण की गणना करता है। इस प्रकार, इस वर्ग की एक विधि एन, के, और पी इनपुट के रूप में लेती है, और राहत की गणना करता है। संभावना। (वास्तव में यह थोड़ा और करता है, यही कारण है कि मुझे इसे खुद लिखना पड़ा, लेकिन तर्क की आसानी के लिए कक्षा के इस विवरण को चिपकाना चाहिए।)
मैंने इस विधि का परीक्षण करने के लिए क्या किया है: कुछ कॉपी करना मेरे कोड में वेब में अलग-अलग एन के साथ टेबल, इस तालिका में यादृच्छिक रूप से एक प्रविष्टि चुनते हुए, resp फ़ीड खिलाया। एन, के, और पी के लिए मेरे फ़ंक्शन में मान, और देखा कि परिणाम तालिका में मान के पास था या नहीं। मैं हर टेबल के लिए इसे कई बार दोहराता हूं।
यह सब ठीक काम करता है, लेकिन परीक्षण लिखने के बाद, मुझे वास्तव में कार्यक्षमता को कोड करने के लिए कुछ घंटों तक टैंक करना पड़ा। पुस्तक पढ़ने से, मुझे यह धारणा थी कि मुझे कुछ मिनटों से अधिक समय तक कोड नहीं करना चाहिए, जब तक परीक्षण फिर से हरे रंग का न हो। मैंने यहाँ क्या गलत किया? बेशक मैंने इस कार्य को कई तरीकों से तोड़ दिया है, लेकिन वे सभी निजी हैं।
एक संबंधित प्रश्न: क्या तालिका से यादृच्छिक संख्या चुनना बुरा विचार था? किसी त्रुटि के मामले में, मैं इस रन द्वारा उपयोग किए जाने वाले यादृच्छिक-बीज को प्रदर्शित करूंगा, ताकि मैं बग को पुन: उत्पन्न कर सकूं।
"मुझे यह धारणा थी कि मुझे कुछ मिनटों से अधिक समय तक कोड नहीं करना चाहिए, जब तक परीक्षण फिर से हरे रंग की न हो।" कहां - विशेष रूप से - क्या आपको यह इंप्रेशन मिला? कृपया उद्धरण या संदर्भ प्रदान करें। यह शायद ही कभी सच है, और मैं उत्सुक हूं जहां आपने इसे पढ़ा/देखा/सुना। –
फ्रैंक वेस्टफल, 1 संस्करण द्वारा, यह जर्मन पुस्तक "टेस्टेटेट्रिबेन एंटविक्लंग मिट जुनीट एंड एफआईटी" में था। जैसे पेज 13 पर, पहले दो वाक्यों। – matthias
और चूंकि आपके पास शायद पुस्तक तक पहुंच नहीं है, इसलिए मैं एक अनुवाद का प्रयास करता हूं: "परीक्षण संचालित विकास, और सरल डिज़ाइन के बीच इंटरप्ले, परिणामस्वरूप मिनट-कोडिंग कोडिंग के लूप में परिणाम होता है। वास्तव में, आप लंबे समय से कोड नहीं करते हैं परीक्षण के माध्यम से फीडबैक-लूप बंद किए बिना बस कुछ ही मिनटों। " (ठीक है, मैं यहां अपनी अंग्रेजी की सीमाओं तक पहुंच रहा हूं, उम्मीद है कि यह अनुवाद सही है।) – matthias