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