पुराने दिनों में वापस, हमने हंगेरियन नोटेशन किया। इसे अब पास माना जाता है , और अधिकांश भाग के लिए मैं इसका उपयोग नहीं करता हूं, लेकिन मैं अभी भी m_सदस्य क्षेत्रों को इंगित करने के लिए उपसर्ग के लिए उपयोग करता हूं ।
मेरे लिए, अगर मैं किसी और के कोड के माध्यम से पढ़ रहा हूं, और मैं इसे देखता हूं:
count = 3;
मुझे लगता है कि countउस फ़ंक्शन के लिए एक चर स्थानीय है और मैं कुछ ऐसा कर रहा हूं जिसका उपयोग फ़ंक्शन में कहीं और किया जाएगा; अगर मैं इसे देखता हूं:
m_count = 3;
मुझे तुरंत एहसास हुआ कि मैं ऑब्जेक्ट की स्थिति को अपडेट कर रहा हूं।
Microsoft शैली दिशानिर्देश कहते हैं कि गलत तरीके से काम करना है। मैं अपने गैर-सार्वजनिक क्षेत्रों को नाम देना चाहता हूं, जैसे कि फ़ंक्शन में परिभाषित अस्थायी चर। नहीं m_, एक साधारण अंडरस्कोर भी नहीं।
हां, हम अपनी स्वयं की कोडिंग शैली को परिभाषित कर सकते हैं, लेकिन फिर मुझे विभिन्न स्थिर कोड विश्लेषण उपकरणों के साथ कुश्ती करनी होगी, उन्हें यह समझाने के लिए कि चीजों को करने का हमारा तरीका ठीक है।
मुझे Microsoft शैली में परिवर्तन करने में खुशी हो रही है, लेकिन मैं यह जानना चाहूंगा कि चीजें किस तरह से हैं।
अब यह क्यों बुरा माना जा सकता है कि यह बताने में सक्षम है कि एक चर स्थानीय है या सदस्य है?
PS यह बहुत ही समान है कि वर्तमान में "#" कीवर्ड के बारे में वर्तमान सर्वोत्तम प्रथाओं को c # के क्षेत्र और तरीकों के बारे में क्या कहा जाता है? , लेकिन मैं m_नहीं के बारे में पूछ रहा हूँthis.
PPS यह भी देखें कि Microsoft ने पैरामीटर, स्थानीय चर और निजी क्षेत्रों को समान नामकरण सम्मेलन क्यों बनाया?
countजहां यह विधि में घोषित नहीं किया गया था, वहां से बाहर नहीं निकला था। सच कहूँ तो "आईडीई से बाहर" तर्क वास्तव में कमजोर है। विशेष रूप से चूंकि कोड समीक्षा उपकरण भी हैं जो आईडीई में काम करते हैं।
thisकीवर्ड नहीं है ? क्या आपthisऐसे सदस्यों का उपयोग नहीं कर सकते , जैसे किthis.count?