सी # संरक्षित क्षेत्रों के लिए पूंजीकरण सम्मेलन


17

सी # में संरक्षित क्षेत्र के नाम के लिए पूंजीकरण सम्मेलन क्या है?

क्या यह _myVar (निजी क्षेत्र की तरह) या MyVar (संपत्तियों की तरह) है?


3
क्या आप वाकई फ़ील्ड को संरक्षित करना चाहते हैं? सार्वजनिक क्षेत्र नहीं होने के अधिकांश कारण संरक्षित लोगों पर भी लागू होते हैं, इसलिए मुझे लगता है कि इसके बजाय संरक्षित गुणों का उपयोग करना बेहतर है।
svick

परीक्षण मामलों में, आमतौर पर संरक्षित क्षेत्रों के लिए सुविधाजनक है .. लेकिन शायद आप सही हैं कि इसे गुणों में बदला जा सकता है। लेकिन अगर मुझे संरक्षित क्षेत्र चाहिए, तो नामकरण सम्मेलन क्या है?
लुई राइस

2
क्या आप सुनिश्चित हैं कि _myVar निजी क्षेत्रों के लिए सही सम्मेलन है? (आप एक आधार बना रहे हैं कि यह है) यहां एक धार्मिक युद्ध शुरू करने की कोशिश नहीं की जा रही है, बस यह कहने की कोशिश की जा रही है कि यदि आपने निजी क्षेत्रों के लिए किसी प्रकार के मनमाने नियम का विकल्प चुना है, तो आप अपने संरक्षित क्षेत्रों के लिए एक और नियम चुन सकते हैं। एकमात्र सलाह लगातार होना है।
मारेक

जवाबों:


13

कुछ ऐसा है जिसे विकासशील कक्षा पुस्तकालयों के लिए डिज़ाइन दिशानिर्देश कहा जाता है जो Microsoft द्वारा लिखा गया है।

यह निम्नलिखित कहता है:

ऐसे क्षेत्र प्रदान न करें जो सार्वजनिक या संरक्षित हों।

सार्वजनिक और संरक्षित क्षेत्र अच्छी तरह से संस्करण नहीं बनाते हैं और कोड एक्सेस सुरक्षा मांगों द्वारा संरक्षित नहीं हैं। सार्वजनिक रूप से दृश्यमान फ़ील्ड का उपयोग करने के बजाय, निजी फ़ील्ड का उपयोग करें और गुणों के माध्यम से उन्हें उजागर करें।

साथ ही साथ:

  • फ़ील्ड नामों में पास्कल केसिंग का उपयोग करें

  • फ़ील्ड नामों के लिए एक उपसर्ग का उपयोग न करें। उदाहरण के लिए, स्थैतिक बनाम गैर-स्थिर क्षेत्रों को अलग करने के लिए g_ या s_ का उपयोग न करें।

के रूप में _उपसर्ग, यह बस के रूप में अक्सर के रूप में प्रयोग किया जाता है this.सम्मेलन (जहां तक मैं CodePlex / GitHub में स्रोत कोड ब्राउज़ कर देखा है)। उदाहरण के लिए, ReSharper _अपने नामकरण चेक में बढ़ावा देता है।


आप "क्षेत्र के नामों के लिए एक उपसर्ग का उपयोग न करें" को शामिल नहीं करने में थोड़ा चयनात्मक रहे हैं। MSDN से पास्कल केसिंग नियम के साथ :) जबकि यह सच है कि डिफ़ॉल्ट रूप से पुनर्परिवर्तन _ उपसर्ग को बढ़ावा देता है, यदि आप MSDN सम्मेलनों IMHO को उद्धृत कर रहे हैं, तो आपको उन्हें अपने स्वयं के छापों के साथ नहीं मिलाना चाहिए।
मारेक

2
इसका क्या मतलब है "अच्छी तरह से संस्करण नहीं है"? क्या आप कह रहे हैं कि चूंकि संरक्षित क्षेत्र की सिफारिश नहीं की गई है, इसलिए इसके नाम के बारे में कोई दिशानिर्देश नहीं है? वैसे भी, Resharper सिफारिश करने के लिए लगता हैMyVar
लुई राइस

2
@ मारेक: मैंने अपनी पसंद को शामिल किया। मैंने बस यह कहा कि Resharper को क्या पसंद है। और चयनात्मक होना मेरा उद्देश्य नहीं था। उत्तर अपडेट किया गया
jgauffin

1
@jgauffin आपके कोड के विरुद्ध प्रतिबिंब का उपयोग करने वाले उपभोक्ताओं के अलावा, प्रॉपर्टी के लिए फ़ील्ड को कॉलर्स के लिए पारदर्शी नहीं बदल रहा है? उसी नाम की अनुकूलता की संरक्षित संपत्ति में संरक्षित क्षेत्र को कैसे परिवर्तित किया जाता है?
क्वांटिक

1
यह द्विआधारी संगतता को तोड़ता है: msdn.microsoft.com/en-us/library/ta31s3bc(v=vs.71).aspx
jgauffin
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.