पायथन के बारे में मेरी पसंदीदा विशेषताओं में से एक यह है कि आप पाइथन में कॉन्फ़िगरेशन फ़ाइलों को लिख सकते हैं जो पढ़ने और समझने के लिए बहुत आसान हैं। यदि आप अपने आप पर कुछ सीमाएं डालते हैं, तो आप बहुत भरोसा कर सकते हैं कि गैर-पायथनिस्टों को पता चलेगा कि आपका क्या मतलब है और यह आपके कार्यक्रम को पुन: कॉन्फ़िगर करने में पूरी तरह से सक्षम होगा।क्या यह कभी भी पाइथन कॉन्फ़िगरेशन फ़ाइल में कोड डालने के लिए विनम्र है?
मेरा सवाल है, वास्तव में ये सीमाएं क्या हैं? मेरा स्वयं का व्यक्तिगत हेरिस्टिक
- प्रवाह नियंत्रण से बचें। कोई कार्य, लूप, या सशर्त नहीं। वे टेक्स्ट कॉन्फ़िगरेशन फ़ाइल में नहीं होंगे और लोग उन्हें समझने की उम्मीद नहीं कर रहे हैं। आम तौर पर, शायद उस आदेश को कोई फर्क नहीं पड़ता जिसमें आपके बयान निष्पादित होते हैं।
- शाब्दिक असाइनमेंट पर चिपकाएं। वस्तुओं पर बुलाए गए तरीके और कार्यों को सोचना कठिन होता है। कुछ भी अंतर्निहित एक गड़बड़ होने जा रहा है। यदि आपके पैरामीटर के साथ कुछ जटिल होना है, तो बदलें कि उनका अर्थ कैसे बदला जाता है।
- भाषा कीवर्ड और त्रुटि प्रबंधन सही हैं।
मुझे लगता है कि मैं यह पूछता हूं क्योंकि मैं अपनी Django कॉन्फ़िगरेशन फ़ाइल के साथ एक स्थिति में आया जहां यह इन नियमों को तोड़ने के लिए उपयोगी प्रतीत होता है। मुझे यह पसंद है, लेकिन मुझे थोड़ा दोषी लगता है। असल में, मेरी परियोजना को एसवीएन चेकआउट के माध्यम से दो अलग-अलग सर्वरों पर तैनात किया जाता है जो सभी को कॉन्फ़िगर नहीं किया जाएगा (कुछ डेटाबेस साझा करेंगे, कुछ उदाहरण के लिए नहीं होंगे)। तो, मैं अंत में एक हुक फेंक:
try:
from settings_overrides import *
LOCALIZED = True
except ImportError:
LOCALIZED = False
जहां settings_overrides अजगर रास्ते पर लेकिन काम के प्रति बाहर है। इस उदाहरण के बारे में, या सामान्य रूप से पाइथन कॉन्फ़िगरेशन सीमाओं के बारे में आप क्या सोचते हैं?
"उनके व्याख्या के तरीके को बदलें" -> "बदलें कि उनका अर्थ कैसे बदला जाता है"। मुझे पता है कि इससे कोई फर्क नहीं पड़ता, लेकिन यह एक पालतू peeve है ... – tgray
धन्यवाद। मुझे बहुत शर्म आती है। –