के लिए जब आप कुछ स्क्रिप्ट लिखते हैं जो स्वयं पर्याप्त हैं, तो क्या if __name__ == '__main__'
का उपयोग परीक्षण लिखने के लिए एक बुरा विचार है?यदि __name__ == '__main__' का प्रयोग करें:
उत्तर
टेस्ट तर्क और परीक्षण कभी भी "उत्पादन" का हिस्सा नहीं होना चाहिए (उत्पादन का मतलब आपके द्वारा उपयोग में किया जा सकता है, क्लाइंट को जारी किया जा सकता है) कोड। इसलिए, यह आपकी स्क्रिप्ट के भीतर कहीं भी रखना एक बुरा विचार है।
आदर्श रूप से, उन्हें अलग-अलग फ़ाइलों में रखें।
मुझे नहीं लगता कि वास्तव में, मैंने बहुत सी पाइथन स्क्रिप्ट्स (ज्यादातर अन्य अनुप्रयोगों के प्लगइन्स) को इस तरह लिखा है।
सर्वोत्तम अभ्यास परीक्षणों को अलग इकाइयों में रखना है जो अवांछित मॉड्यूल का उपयोग करते हैं। यह अलगाव आपको मुख्य कोड को साफ रखने की अनुमति देता है (परीक्षण सहायक सहायक कार्यों की बहुत आवश्यकता नहीं है) और आपको अच्छे व्यापक परीक्षण लिखने के लिए प्रोत्साहित करता है क्योंकि आप मुख्य कोड को अव्यवस्थित नहीं करते हैं।
यह वास्तव में आपके कोड और आपके स्क्रिप्ट के उद्देश्यों पर निर्भर करता है। बड़ी और जटिल परियोजनाओं के लिए आपको निश्चित रूप से अपने सभी परीक्षणों को एक अलग जगह में रखना होगा।
लेकिन कुछ छोटे पर काम करते समय यह कोड के साथ परीक्षण करने का एक अच्छा समाधान हो सकता है - यह doctest
का मुख्य विचार है (यह एक महान पायथन मॉड्यूल है जो आपको डॉकस्ट्रिंग में परीक्षण लिखने की अनुमति देता है)।
if __name__ == "__main__":
import doctest
doctest.testmod()
मैं इसे अच्छे और साफ लगता है: इस मामले में अपने if __name__ == '__main__'
तरह दिखाई देगा।
- 1. यदि __name__ == __main__
- 2. ऐसा क्यों करता है? यदि - __name__ == '__main__'
- 3. पाइथन मुहावरे के बराबर क्लोजर क्या है "अगर __name__ == '__main__'"?
- 4. क्या पाइथोनिक के बराबर बराबर है "अगर __name__ ==" __main__ ": मुख्य()"?
- 5. पायथन में मुख्य फ़ंक्शन और/या __name__ == "__main__" चेक का क्या बिंदु है?
- 6. __main__ और अजगर
- 7. एसक्यूएल: का प्रयोग करें *
- 8. आयरनपीथन होस्ट करते समय मैं __name__ को '__main__' पर कैसे सेट करूं?
- 9. यदि (__main__ 'के अंदर मुख्य() फ़ंक्शन परिभाषित नहीं किया गया है?
- 10. पायथन में __main__ मॉड्यूल के फ़ाइल नाम कैसे प्राप्त करें?
- 11. पाइथन यदि बनाम कोशिश करें-
- 12. || का प्रयोग करें ऑपरेटर नोटिस
- 13. मॉड्यूल को __main__ के रूप में कैसे आयात करें?
- 14. अन्य साइट से फेविकॉन का प्रयोग करें?
- 15. __main__.py क्या है?
- 16. वेब पेज पर सीएमवाईके का प्रयोग करें
- 17. सी # में एक्सएमएल अक्षरों का प्रयोग करें?
- 18. सी # SQLite Parameterized तरह का प्रयोग करें
- 19. एक्सपैथ या रेगेक्स का प्रयोग करें?
- 20. डैश का प्रयोग करें (-) enum पैरामीटर
- 21. PHP में डीएलएल का प्रयोग करें?
- 22. regex/php का प्रयोग करें कोटेशन
- 23. विंडोज (टीटीएफ) फ़ॉन्ट का प्रयोग करें?
- 24. प्रयोग करें 'kUTTypeMovie'
- 25. का प्रयोग तुलनित्र सेट
- 26. जेएस बिन चेतावनी: ईओएल की बुरी तरह से बचें। विकल्प multistr का प्रयोग करें यदि
- 27. पाइथन उदाहरणों में __name__ विशेषता क्यों नहीं है?
- 28. का प्रयोग LINQ में
- 29. का प्रयोग रंग
- 30. प्रयोग
क्यों ???????????? –
कृपया उचित ठहराना। –
मैं एक नया प्रोग्रामर हूं और मुझे यह प्रश्न अनौपचारिक लगता है – RodericDay