2009-08-12 10 views
6

सी # (एनईटी) में, नियमित "स्वरूपण" मानक क्या हैं?सी # "स्वरूपण" मानकों क्या हैं?

उदाहरण के लिए, पैरामीटर नामों के लिए, अब तक मैंने कैमेलकेस को कोई उपसर्ग नहीं देखा है, है ना? ऑब्जेक्ट नामों के लिए, ऊंटकेस और कोई उपसर्ग या तो, सही?

नामस्थान, कक्षाएं, कार्य और गुणों के लिए, शब्द का पहला अक्षर पूंजीकृत है और कोई उपसर्ग नहीं है, क्या यह सही (फिर से) है?

"अस्थायी" ऑब्जेक्ट्स कैसे स्वरूपित होते हैं?

उदाहरण:

namespace TestNamespace 
{ 
    class MyOwnCoolClass 
    { 
     MyOwnCoolClass(int length, BinaryWriter writer) 
     { 
      BinaryWriter tempbw = new BinaryWriter(length); 
      return tempbw; 
     } 
    } 
} 

(नोट: यह कोड, मुझे पता है, यह सिर्फ स्वरूपण प्रदर्शित करने के लिए है मान्य नहीं है)। धन्यवाद!

+1

जाओ लगता है "कोड पूरा 2" स्टीव McConnell द्वारा -> http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ref=sr_1_1?ie=UTF8&s=books&qid=1250101785&sr = 8-1 – Zack

उत्तर

13

यदि आप StyleCop का उपयोग करते हैं, तो आपको Microsoft .NET Design Guidelines for Developing Class Libraries के साथ अच्छी स्थिरता मिल जाएगी। स्टाइलकॉप कई अतिरिक्त चीजों को भी लागू करता है जैसे रिक्ति, फाइल में वस्तुओं का ऑर्डर करना, और गैर-सार्वजनिक कोड तत्वों का नामकरण।

+0

+1 ने शब्दों को मेरी उंगलियों से बाहर ले लिया! – curtisk

+0

मैं स्टाइलकॉप का उपयोग करने की योजना नहीं बना रहा हूं, लेकिन लिंक ठीक वही भरता है जो मुझे चाहिए। धन्यवाद! – Lazlo

5

माइक्रोसॉफ्ट से पूर्ण दिशानिर्देश Class Design Guidelines में पाए जा सकते हैं। यह पुराना है, लेकिन मुझे अभी तक एमएसडीएन पर कुछ भी अपडेट नहीं मिला है, और मेरा मानना ​​है कि यह अभी भी मानक सेट रिकॉर्डेन्डेशन

+0

अद्यतन पोस्ट दिशानिर्देशों के लिंक के लिए मेरी पोस्ट देखें। :) –

+0

यहां अपडेट किया गया लिंक है: http://msdn.microsoft.com/en-us/library/ms229042.aspx –

+0

आपके उत्तर के लिए धन्यवाद, लेकिन 280Z28 के उत्तर ने मेरे प्रश्न को और अधिक फिट किया। :) फिर भी, +1 – Lazlo

0

मैं निम्नलिखित Coding Practices.

पर एक नज़र ले जाएगा यह वस्तुतः सब कुछ है कि मैं सबसे सी # कोड है कि मैंने पढ़ा ... UI तत्व लगाकर सहित में देखते हैं शामिल किया गया। मैं व्यक्तिगत रूप से इस पत्र का पालन नहीं करता हूं लेकिन यह आपको सामान्य मानक और अच्छा/बुरा अभ्यास करने का अच्छा विचार देता है।

0

माइक्रोसॉफ्ट कोडिंग मानकों के संदर्भ हैं। विजुअल स्टूडियो 2005 और 2008 में एक कोड विश्लेषण इंजन बनाया गया है जो आपको इन कोडिंग मानकों के माध्यम से मार्गदर्शन करेगा और आपको कुछ सर्वोत्तम प्रथाओं के बारे में भी बताएगा। अपनी प्रोजेक्ट पर राइट क्लिक करें और "प्रोजेक्ट पर रन कोड विश्लेषण" पर क्लिक करें।

जब भी कोई अमान्य या कम पसंदीदा कोड भाग देखा जाता है, तो यह आपको केवल चेतावनी नहीं देगा, बल्कि आपको FxCop साइट पर एक सहायता संसाधन पर इंगित करेगा।

0

MSDN: Naming Guidelines

मैं कैसे नेट ढांचा तो मेरे कोड .नेट फ्रेमवर्क के साथ संगत है कोडित है का पालन करते हैं।

मेरी एकमात्र निजी वरीयता कक्षा चर के नामकरण है जो मैं प्रत्येक चर से पहले private int m_count उपसर्ग "m_" का उपयोग करता हूं।

0

आप उपकरण और Framework Design Guidelines के लिए StyleCop और FxCop (या वीएस -2008 प्रो के लिए अंतर्निहित कोड विश्लेषण) के संयोजन का उपयोग कर सकते हैं।

2

मैंने पिछले वर्ष एमएसएफटी और अन्य व्यापक रूप से स्वीकृत दिशानिर्देशों के विभिन्न दिशानिर्देशों का उपयोग करके these guidelines लिखा था। आप इसे देखना चाह सकते हैं, इसमें अन्य चीजें भी हैं, जैसे परियोजनाएं स्थापित करना और क्या नहीं, लेकिन सभी नामकरण दिशानिर्देश भी वहां हैं।

संपादित करें: मैंने देखा कि यह एक पुराना संस्करण है, मेरे पास एक नया संस्करण है जिसे मैं थोड़ी देर के लिए लिख रहा हूं और इसमें बहुत सारी चीज़ें हैं, लेकिन ऐसा नहीं हुआ है। हालांकि यह प्रकाशित होने पर मैं इस पोस्ट को अपडेट कर दूंगा।

+1

एक अकेले देव के रूप में जिसने कभी उसे कोई दिशानिर्देश या सम्मेलन नहीं दिया है, मुझे यह बहुत ही जानकारीपूर्ण लगता है। मैं उत्सुक हूं कि आप 'var' और फ़ॉर्म के कोड पेजों से कैसे निपटेंगे। मैं "स्रोत फ़ाइल लेआउट" पर अनुभाग देखता हूं और मुझे आश्चर्य है कि क्या यह WinForm कोड पृष्ठों के लिए भी सच है। साथ ही, "नियंत्रण और घटक" के तहत, आप बताते हैं कि बाद में कोडिंग परिवर्तनों को रोकने के लिए 'ux' का उपयोग किया जाना चाहिए। क्या, फिर, var का उपयोग करने के लिए एक ही मानसिकता है? डॉक्टर के लिए धन्यवाद! –

+0

हाँ, वही रूपों के लिए जाता है। नए संस्करण में इस तरह के अधिक उपहार होंगे। मैं सामान्य रूप से क्षेत्र नियंत्रण घटनाओं को तरीकों से अलग करता हूं। आम तौर पर मेरे रूपों में कभी-कभी विधियां नहीं होतीं, क्योंकि मैं हमेशा यूआई परत से अलग सेवा परत बनाती हूं। मैं नवीनतम संस्करण को थोड़ा तेज़ करने के इच्छुक हूं, इसलिए प्रकाशित होने पर मैं यहां वापस पोस्ट करूंगा। प्रतीक्षा करो। ;) रास्ते से महान टिप्पणी के लिए धन्यवाद! –

+0

@ रिफ्रैक्टेड पालाडिन: हम बाद में विकास में यूआई नियंत्रण को बदलने से रोकने के लिए "ux" उपसर्ग का उपयोग करते हैं। जैसे हंगेरियन सम्मेलनों का अर्थ है कि यदि आप एक कॉम्बो बॉक्स में टेक्स्टबॉक्स बदलते हैं, तो आप नाम "txtMyTextBox" -> "cmbMyComboBox" से बदल देंगे यदि आप सम्मेलन नामकरण के लिए स्टिकर हैं। साथ ही, "m_" और "ux" Intellisense में समूह चर और नियंत्रण उपसर्ग करता है। – Zack

संबंधित मुद्दे