2012-01-25 10 views
5

जब निजी इस्तेमाल के लिए स्क्रिप्ट लेखन, मैं यह कर रहा करने के लिए इस्तेमाल कर रहा हूँदो रूपों

def do_something(): 
    # Do something. 

do_something()  # No if __name__ thingy. 

मैं पहली बार प्रपत्र पता स्क्रिप्ट को मॉड्यूल के रूप में आयात करने या इसे सीधे कॉल करने के बीच अंतर करते समय उपयोगी होता है, लेकिन अन्यथा स्क्रिप्ट के लिए जो केवल निष्पादित (और कभी आयात नहीं किया जाएगा), क्या किसी दूसरे को पसंद करने का कोई कारण है?

उत्तर

17

भले ही स्क्रिप्ट केवल निष्पादित करने के लिए है, फिर भी कभी-कभी इसे आयात करने के लिए उपयोगी हो सकता है - एक इंटरैक्टिव खोल में, दस्तावेज उत्पादन उपकरण द्वारा, यूनिट परीक्षणों में या समय करने के लिए। इसलिए नियमित रूप से अधिक सामान्य रूप का उपयोग कभी भी चोट नहीं पहुंचाएगा।

+0

धन्यवाद, यह पूर्व का पालन करने का एक अच्छा कारण प्रतीत होता है। –

4

पहला फॉर्म सिर्फ अच्छा अभ्यास है। कंप्यूटर प्रोग्राम लिखने के अपरिवर्तनीय कानूनों में से एक यह है कि दूर के भविष्य में कोई व्यक्ति (जैसे कि आप किसी अन्य प्रोजेक्ट को सौंपने के बाद या कोड को बनाए रखने के साथ ऊब जाते हैं) आपके "हमेशा स्टैंडअलोन" स्क्रिप्ट या भागों के उपयोग करना चाहते हैं यह, किसी अन्य उद्देश्य के लिए।

यदि हम मानते हैं कि आप पूरी तरह से एक रॉक-स्टार प्रोग्रामर हैं और आपकी स्रोत फ़ाइलों के प्रत्येक चरित्र प्रतिभा (यह सही है?) के साथ संतृप्त है, तो यह समझ में आता है कि किसी और को आपकी कलाकृति का आंख मिल जाएगा और अपने प्रतिभा से फर्श पर खटखटाया जाए और इसका उपयोग करना चाहेंगे।

अब या तो उन्हें अपने कोड को शीर्ष पर उनके नाम के साथ फ़ाइल में कट-पे-पेस्ट करने का विकल्प है, जो बहुत ही गैर-DRY है और आपके असाधारण दिमाग का योगदान किसी और को श्रेय देता है, या आप केवल कोड के उस छोटे से बिट को जोड़ सकते हैं और उन्हें अपने मॉड्यूल को आयात करने और सीधे कक्षा या फ़ंक्शन का उपयोग करने की अनुमति देते हैं, जिससे उन्हें पता चला कि उन्हें बहुत पहले, प्रोग्रामिंग के बारे में वास्तव में पता था इससे पहले कि वे इसका सामना कर सकें।

आपकी पसंद!

+0

और, जैसे स्वेन ने कहा, परीक्षण! –

+0

यह सही है, आपके विचारों के लिए धन्यवाद। –

संबंधित मुद्दे