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