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