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