C# Language
नामकरण की परंपरा
खोज…
परिचय
यह विषय C # भाषा में लिखते समय उपयोग किए जाने वाले कुछ बुनियादी नामकरण सम्मेलनों की रूपरेखा तैयार करता है। सभी सम्मेलनों की तरह, वे संकलक द्वारा लागू नहीं किए जाते हैं, लेकिन डेवलपर्स के बीच पठनीयता सुनिश्चित करेंगे।
व्यापक .NET फ्रेमवर्क डिज़ाइन दिशानिर्देशों के लिए, docs.microsoft.com/dotnet/standard/design-guidelines देखें।
टिप्पणियों
आसानी से पढ़ने योग्य पहचानकर्ता नाम चुनें
उदाहरण के लिए, क्षैतिज क्षैतिजता नामक एक संपत्ति अंग्रेजी में AlignmentHor क्षैतिज की तुलना में अधिक पठनीय है।
संक्षिप्तता पर अनुकूल पठनीयता
प्रॉपर्टी का नाम CanScrollHorizontally
बेहतर है ScrollableX
(X- अक्ष के लिए एक अस्पष्ट संदर्भ)।
अंडरस्कोर, हाइफ़न, या किसी अन्य गैर-अल्फ़ान्यूमेरिक वर्ण का उपयोग करने से बचें।
हंगेरियन नोटेशन का उपयोग न करें
हंगेरियन नोटेशन में पैरामीटर के बारे में कुछ मेटाडेटा को एन्कोड करने के लिए पहचानकर्ताओं में एक उपसर्ग शामिल करने का अभ्यास है, जैसे कि पहचानकर्ता के डेटा प्रकार, जैसे string strName
।
इसके अलावा, उन पहचानकर्ताओं का उपयोग करने से बचें, जो पहले से ही C # के भीतर उपयोग किए जाने वाले कीवर्ड के साथ संघर्ष करते हैं।
संक्षिप्त एवं विपरितार्थक
सामान्य तौर पर, आपको संक्षिप्त या संक्षिप्त शब्दों का उपयोग नहीं करना चाहिए; ये आपके नाम को कम पठनीय बनाते हैं। इसी तरह, यह जानना मुश्किल है कि कब यह मान लेना सुरक्षित है कि एक संक्षिप्त रूप से व्यापक रूप से मान्यता प्राप्त है।
पूंजीकरण सम्मेलन
निम्नलिखित शब्द केस आइडेंटिफायर्स के विभिन्न तरीकों का वर्णन करते हैं।
पास्कल केसिंग
पहचानकर्ता में पहला अक्षर और उसके बाद के प्रत्येक शब्द का पहला अक्षर बड़े अक्षरों में लिखा होता है। आप पास्कल केस का उपयोग तीन या अधिक वर्णों के पहचानकर्ताओं के लिए कर सकते हैं। उदाहरण के लिए: BackColor
ऊंट कैसिंग
एक पहचानकर्ता का पहला अक्षर लोअरकेस होता है और प्रत्येक बाद के संक्षिप्त शब्द का पहला अक्षर कैपिटल होता है। उदाहरण के लिए: backColor
अपरकेस
पहचानकर्ता के सभी अक्षरों को बड़े अक्षरों में लिखा गया है। उदाहरण के लिए: IO
नियम
जब एक पहचानकर्ता में कई शब्द होते हैं, तो विभाजक, जैसे कि अंडरस्कोर ("_") या हाइफ़न ("-") शब्दों के बीच में उपयोग न करें। इसके बजाय, प्रत्येक शब्द की शुरुआत को इंगित करने के लिए आवरण का उपयोग करें।
निम्न तालिका पहचानकर्ताओं के लिए पूंजीकरण नियमों को सारांशित करती है और विभिन्न प्रकार के पहचानकर्ताओं के लिए उदाहरण प्रदान करती है:
पहचानकर्ता | मामला | उदाहरण |
---|---|---|
स्थानीय चर | ऊंट | carName |
कक्षा | पास्कल | AppDomain |
गणना प्रकार | पास्कल | eRRORLEVEL |
गणना के मान | पास्कल | घातक गलती |
प्रतिस्पर्धा | पास्कल | ValueChanged |
अपवाद वर्ग | पास्कल | WebException |
केवल-स्थिर क्षेत्र पढ़ें | पास्कल | RedValue |
इंटरफेस | पास्कल | IDisposable |
तरीका | पास्कल | तार |
नाम स्थान | पास्कल | System.Drawing |
पैरामीटर | ऊंट | नाम लिखो |
संपत्ति | पास्कल | पीछे का रंग |
अधिक जानकारी MSDN पर पाई जा सकती है।
इंटरफेस
संज्ञाओं या संज्ञा वाक्यांशों के साथ इंटरफेस का नाम दिया जाना चाहिए, या विशेषण जो व्यवहार का वर्णन करते हैं। उदाहरण के लिए IComponent
एक वर्णनात्मक संज्ञा का उपयोग करता है, ICustomAttributeProvider
एक संज्ञा वाक्यांश का उपयोग करता है और IPersistable
एक विशेषण का उपयोग करता है।
इंटरफ़ेस के नाम I
अक्षर के साथ उपसर्ग किए जाने चाहिए, यह इंगित करने के लिए कि प्रकार एक इंटरफ़ेस है, और पास्कल केस का उपयोग किया जाना चाहिए।
नीचे सही ढंग से नामित इंटरफेस दिए गए हैं:
public interface IServiceProvider
public interface IFormatable
निजी क्षेत्र
निजी क्षेत्रों के लिए दो सामान्य सम्मेलन हैं: camelCase
और _camelCaseWithLeadingUnderscore
।
टेढ़े मेढ़े संयुक्त शब्द
public class Rational
{
private readonly int numerator;
private readonly int denominator;
public Rational(int numerator, int denominator)
{
// "this" keyword is required to refer to the class-scope field
this.numerator = numerator;
this.denominator = denominator;
}
}
अंडरस्कोर के साथ ऊंट का मामला
public class Rational
{
private readonly int _numerator;
private readonly int _denominator;
public Rational(int numerator, int denominator)
{
// Names are unique, so "this" keyword is not required
_numerator = numerator;
_denominator = denominator;
}
}
नेमस्पेस
नामस्थान का सामान्य प्रारूप है:
<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>].
उदाहरणों में शामिल:
Fabrikam.Math
Litware.Security
किसी कंपनी के नाम के साथ नामस्थानों को जोड़ना अलग-अलग कंपनियों के नामस्थानों को एक ही नाम रखने से रोकता है।
enums
अधिकांश Enums के लिए एक विलक्षण नाम का उपयोग करें
public enum Volume
{
Low,
Medium,
High
}
Enum प्रकार के लिए एक बहुवचन नाम का उपयोग करें जो बिट फ़ील्ड हैं
[Flags]
public enum MyColors
{
Yellow = 1,
Green = 2,
Red = 4,
Blue = 8
}
नोट: हमेशा FlagsAttribute
को थोड़ा फ़ील्ड Enum टाइप करें।
प्रत्यय के रूप में 'एनम' न जोड़ें
public enum VolumeEnum // Incorrect
प्रत्येक प्रविष्टि में एनम नाम का उपयोग न करें
public enum Color
{
ColorBlue, // Remove Color, unnecessary
ColorGreen,
}
अपवाद
प्रत्यय के रूप में 'अपवाद' जोड़ें
कस्टम अपवाद नाम "-Exception" के साथ प्रत्यय होना चाहिए।
नीचे अपवादों का सही नाम दिया गया है:
public class MyCustomException : Exception
public class FooException : Exception