C # प्रोग्रामिंग भाषा में चर का नामकरण सम्मेलन [बंद]


10

मैं चर # चर के बारे में एक वीडियो देख रहा हूँ। लेखक एक विधि के अंदर एक चर घोषित करता है और उसने इसे इस तरह नाम दिया: स्ट्रिंग MyName = "जेम्स";

मेरा प्रश्न है: कौन सा सम्मेलन .Net फ्रेमवर्क द्वारा अनुशंसित है। क्या यह उपरोक्त उदाहरण में पास्कल आवरण है या यह ऊंट का मामला है?


इस प्रश्न के साथ समस्या, जो आपको पता नहीं था कि यह आपकी गलती नहीं है, यह है कि वास्तव में सी # के लिए कोई विहित सम्मेलन नहीं है। आम सम्मेलन हैं; दुर्भाग्य से एक से अधिक है, लेकिन आपके लिए यहां एक उत्तर प्राप्त करना काफी मुश्किल होगा, जो कि शुद्ध राय के अलावा कुछ भी हो। क्षमा करें, मतदान बंद करने के लिए; मेरा सुझाव: लोकप्रिय गिथब और कोडप्लेक्स रिपॉजिटरी में कुछ समय पढ़ने वाले कोड को देखने के लिए खर्च करें कि वे उन सम्मेलनों का क्या उपयोग करते हैं जो लोग लिखते हैं जो सबसे लोकप्रिय लिखते हैं वे उद्योग-अनुभवी लोग हैं, और जैसा कि आप पाएंगे आम के रूप में विहित है।
जिमी हॉफ

5
MSDN से नामकरण परंपराएँ
Yusubov

1
@ येसुबोव ये पुस्तकालयों के सार्वजनिक भागों के नामकरण का वर्णन करते हैं, स्थानीय चर का नहीं।
21

जवाबों:


26

मुझे नहीं लगता कि 'आधिकारिक' सम्मेलन की तरह कुछ है। जहाँ तक मुझे पता है, निम्नलिखित कई अनुभवी C # डेवलपर्स द्वारा अच्छा अभ्यास माना जाता है:

PascalCase for public member variables (string MyName = "James")

camelCase for local variables (string myName = "James")

_leadingUnderscore for private member variables (string _myName = "James")

इस दृष्टिकोण के साथ, कोई भी स्थानीय चर के साथ-साथ सार्वजनिक और निजी सदस्यों के बीच अपने पहले पत्र के मामले में अंतर कर सकता है।

किसी भी कोडिंग सम्मेलन के साथ, यह भी व्यक्तिगत प्राथमिकताओं के अधीन है। इसलिए, कोई निश्चित उत्तर नहीं है। एक सामान्य लक्ष्य यह होना चाहिए कि कोड को यथासंभव पठनीय और समझने योग्य बनाया जाए।


3
+1 यह मेरे द्वारा देखी गई शैली के करीब है। मेरा मानना ​​है कि यह आमतौर पर MSDN के उदाहरणों में प्रयुक्त शैली से लिया गया है। आमतौर पर मैं देख रहा हूं कि संपत्ति मिल रही है PascalCase, स्थानीय लोगों को मिल रही है camelCase, और निजी सदस्यों को मिल रही है _leadingUnderscore
KChaloux

जब आप सदस्य चर कहते हैं तो क्या आपका मतलब फील्ड्स या प्रॉपर्टीज से है?
कासेर

डेल्फी डेवलपर्स एक 'a': के साथ प्रीफ़िक्स करके फ़ंक्शन / मेथड पैरामीटर को नाम देते हैं (aParameter: string)। मुझे एहसास है कि पैरामीटर अनिवार्य रूप से स्थानीय चर हैं, खासकर जब मूल्य से पारित किया जाता है, लेकिन यह अक्सर "देखने" के लिए बहुत उपयोगी होता है कि एक पैरामीटर वास्तव में एक पैरामीटर के रूप में पारित हो जाता है। क्या C # में ऐसा कोई सम्मेलन है?
मार्जन वेनेमा

और एक अन्य: सदस्य फ़ील्ड। डेलफियन उन्हें एक 'एफ' के साथ उपसर्ग करते हैं। मैंने C # कोड देखा है जो उन्हें एक अंडरस्कोर के साथ घोषित करता है private string _SomeString:। क्या आप कहेंगे कि यह एक सम्मेलन है? (बस सी # में मेरे पैर की उंगलियों को डुबोना और इस सामान के बारे में सोचकर)।
मार्जन वेनेमा

1
यह गलत है। सार्वजनिक सदस्यों (और सार्वजनिक वर्गों आदि) के लिए नामांकित सम्मेलनों का प्रकाशन होता है।
21

7

.Net फ्रेमवर्क नामकरण परंपराएँ ( v4.5 , v1.1 ) इस बारे में अज्ञेयवादी हैं। वे स्थानीय चर नामकरण के लिए एक मानक निर्दिष्ट नहीं करते हैं। आपको इन नामकरण के लिए अपने स्वयं के सम्मेलन पर फैसला करना होगा।

मैं व्यक्तिगत रूप से कैमलकेस का उपयोग करता हूं, और thisजब आवश्यक हो, पैरामीटर नामों से सदस्य चर को हटा देता हूं । लेकिन प्रमुख अंडरस्कोर (यानी _memberVariable) भी मान्य हैं।


1
यह बिल्कुल नामकरण परंपराओं का उपयोग करने का कारण है - thisस्थानीय चर को खेतों / संपत्तियों से अलग करने के लिए उपयोग करना। हर बार 5 अतिरिक्त पत्र बहुत अधिक हैं।
सिनैट्र
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.