मैं पिछले तीन वर्षों से सॉफ्टवेयर विकसित कर रहा हूं, लेकिन मैं अभी हाल ही में जाग गया हूं कि मैं अच्छी प्रथाओं से कितना अनभिज्ञ हूं। इससे मुझे पुस्तक क्लीन कोड पढ़ना शुरू करना पड़ा है , जो मेरे जीवन को बेहतर बनाने के लिए उल्टा हो रहा है, लेकिन मैं अपने कार्यक्रमों को लिखने के लिए कुछ सर्वोत्तम तरीकों में अंतर्दृष्टि प्राप्त करने के लिए संघर्ष कर रहा हूं।
मेरे पास एक पायथन कार्यक्रम है जिसमें मैं ...
required=True
दो तर्कों को लागू करने के लिए argparse का उपयोग करें , जो दोनों फ़ाइल नाम हैं। पहला इनपुट फ़ाइल नाम है, दूसरा आउटपुट फ़ाइल नाम है- एक फ़ंक्शन है
readFromInputFile
जो पहले यह देखने के लिए जांचता है कि इनपुट फ़ाइल नाम दर्ज किया गया था - एक फ़ंक्शन है
writeToOutputFile
जो पहले यह देखने के लिए जांचता है कि आउटपुट फ़ाइल नाम दर्ज किया गया था
मेरा कार्यक्रम इतना छोटा है कि मुझे विश्वास है कि # 2 और # 3 में जाँच निरर्थक है और इसे हटा दिया जाना चाहिए, इस प्रकार दोनों कार्यों को अनावश्यक if
स्थिति से मुक्त किया जाएगा । हालांकि, मुझे यह विश्वास करने के लिए भी प्रेरित किया गया है कि "डबल-चेकिंग ठीक है" और एक कार्यक्रम में सही समाधान हो सकता है जहां फ़ंक्शन को एक अलग स्थान से बुलाया जा सकता है जहां तर्कों की पार्सिंग नहीं होती है।
(इसके अलावा, यदि पढ़ने या लिखने में विफल रहता है, तो मेरे पास एक try except
उपयुक्त त्रुटि संदेश जुटाने के लिए प्रत्येक फ़ंक्शन में है।)
मेरा सवाल यह है: क्या सभी अनावश्यक स्थिति की जाँच से बचना सबसे अच्छा है? क्या एक कार्यक्रम का तर्क इतना ठोस होना चाहिए कि चेक की जरूरत केवल एक बार हो? क्या ऐसे कोई अच्छे उदाहरण हैं, जो इस या इसके बारे में बताते हैं?
संपादित करें: आप सभी के जवाब के लिए धन्यवाद! मैंने प्रत्येक से कुछ सीखा है। इतने सारे दृष्टिकोणों को देखने से मुझे इस समस्या से निपटने और मेरी आवश्यकताओं के आधार पर समाधान निर्धारित करने की बेहतर समझ मिलती है। धन्यवाद!