मैं MATLAB एप्लिकेशन लिख रहा हूं जिसमें कई फ़ंक्शंस अलग-अलग फ़ाइलों पर फैले हुए हैं। मेरे पास एक लॉगर है, जो फ़ंक्शन पॉइंटर वाला एक स्ट्रक्चर है, और मैं उपयोगकर्ता को देखने के लिए जानकारी लॉग इन करने के लिए इसका उपयोग करता हूं (यानी, कौन सा फ़ंक्शन वर्तमान में निष्पादित कर रहा है, गणना परिणाम इत्यादि)। कारण मैं अपने लॉगर के लिए एक स्ट्रक्चर का उपयोग करता हूं और बस fprintf()
नहीं है कि मैं इसे भविष्य में एक्सएमएल लॉगर, एचटीएमएल लॉगर इत्यादि के साथ आसानी से बदल सकता हूं।MATLAB के वैश्विक चर के लिए सर्वोत्तम विकल्प
चूंकि मेरा कोड एक-दूसरे को कॉल करने वाले कई कार्यों से बना है, इसलिए मैंने अपनी लॉगर संरचना को वैश्विक के रूप में घोषित किया है, इसलिए मुझे इसे अपने सभी कार्यों में पारित करने की आवश्यकता नहीं है। हालांकि, हर जगह मुझे लगता है कि मैं देखता हूं कि वैश्विक चर MATLAB में बुरे अवतार हैं और मेरे कार्यक्रम को काफी धीमा कर देंगे।
क्या इनपुट पैरामीटर के रूप में उन्हें आवश्यक रूप से गुजरने के बिना और गंभीर प्रदर्शन दंड से पीड़ित किए बिना फ़ाइलों में चर उपलब्ध कराने का कोई तरीका है?
वैश्विक युद्ध "बुराई" नहीं हैं। यदि आप एक अनुभवी प्रोग्रामर नहीं हैं, जैसे कि अन्य वर्र्स इत्यादि को ओवरलोड करना, तो वे सिर्फ कई त्रुटियां बना सकते हैं। साथ ही, मुझे विश्वास नहीं है कि मैटलैब में ग्लोबल्स के लिए प्रदर्शन हिट है। यदि ग्लोबल्स का उपयोग करना आपके जीवन को "बेहद आसान" बनाता है, तो उनका उपयोग करें। बस इसे आदत बनाने की कोशिश न करें। – Jorge
@ जॉर्ज किसी भी प्रोग्रामर, न सिर्फ अनुभवहीन लोगों को। लेकिन अन्यथा, हाँ। –
@ जॉर्ज - विधियों के लिए ग्लोबल्स बनाम गुजरने वाले चर का उपयोग करने के लिए आपके मानदंड क्या हैं? – dzisner