2010-09-23 25 views
6

माइक्रोसॉफ्ट नामकरण सम्मेलन पास्कल केस में नेट डालने वाले स्थिरांक के लिए। वास्तव में, यह स्पष्ट रूप से हमें बताता है स्थिरांक के लिए सभी बड़े अक्षरों का उपयोग कर से बचने के लिए:नेट में ऊपरी मामले में स्थिरांक क्यों नहीं हैं?

आप मौजूदा, अप्रबंधित प्रतीक योजनाओं, जहां सभी अपरकेस पात्रों में अक्सर के लिए उपयोग किया जाता है के साथ संगतता बनाए रखने के लिए पहचानकर्ता फायदा उठाने में हो सकता है गणना और निरंतर मान। सामान्य में, ये प्रतीक असेंबली के बाहर दिखाई नहीं दे सकते हैं जो उनका उपयोग करता है।

MSDN से।

SO पर मुझे इस विषय पर कुछ प्रश्न मिले, जैसे one, लेकिन मुझे तर्क नहीं मिला। तो, किसी को पता है या कोई संदर्भ है जो बताता है कि एमएस ने इस सम्मेलन को क्यों चुना?

+9

क्योंकि सभी-अपरकेस पढ़ने में कठिन है और यह PRECOMPILER, जो नेट नहीं करता है 'के लिए उद्देश्य से टी भी है। –

+4

इसके अलावा, यह सिर्फ बदसूरत है। –

+0

ठीक है, मैं इसे आधिकारिक उत्तर दूंगा। –

उत्तर

7

यह सिर्फ एक शैली दिशानिर्देश है। प्रोग्रामिंग भाषाओं ने स्वरूपण सम्मेलनों की अनुशंसा करना और धक्का देना शुरू कर दिया है ताकि कोड अधिक पठनीय हो।

इसके अलावा, प्रीप्रोसेसर द्वारा प्रतिस्थापित किए गए प्रतीक विशेष ध्यान देने योग्य हैं - वे टाइप सिस्टम के बाहर/पहले रहते हैं और ऐसा नहीं हो सकता है कि वे क्या दिखते हैं। स्थिरांक केवल स्थिरांक हैं, वे संकलन या रनटाइम में नहीं बदलेंगे।

+0

यदि आप इतिहास के बारे में सोचते हैं, तो सी प्रीप्रोसेसर प्रतीकों के लिए अपरकेस का उपयोग किया गया था, इसलिए जब सी ++ बाहर आया और 'const' था, तो उन प्रतीकों को मिश्रित मामला रखा गया था। सी # और जावा दोनों सी ++ से आते हैं, इसलिए वे सी ++ सम्मेलन का पालन करते हैं। –

+0

एक तरफ ध्यान दें, चलो भूलें कि 'कॉन्स्ट' पूरी तरह से संकलित-समय है, जबकि 'स्थिर रीडोनली' रनटाइम पर है, यही कारण है कि केवल पूर्व को सी # 4. –

+0

में डिफ़ॉल्ट मान के रूप में अनुमति दी जाती है , मेरे पास चुनने के लिए एक नाइट है: नामकरण मानकों और स्वरूपण सम्मेलनों का उद्देश्य कोड को और अधिक पठनीय बनाने के लिए नहीं बल्कि इसे पारस्परिक रूप से समझदार बनाने के लिए है। ऐसा कोई शानदार कारण नहीं है कि .NET ने CamelCase के बजाय विधियों के लिए मिश्रित कैस की सिफारिश की है, लेकिन यदि हर कोई इन दो विकल्पों में से एक का उपयोग करता है, तो हम भ्रमित या नाराज होने के बिना एक दूसरे के कोड को पढ़ सकते हैं। यह बाईं ओर की बजाय सड़क के दाहिने तरफ ड्राइविंग की तरह है: वास्तव में कोई फर्क नहीं पड़ता, जब तक हर कोई एक ही पक्ष चुनता है। –

5

क्योंकि सभी अपरिपक्व पढ़ने के लिए मुश्किल और मुश्किल है और यह प्रीकंपील्डर के लिए प्रेरित है, जिसमें नेट भी नहीं है।

इसके अलावा, बिल गेट्स इसे इस तरह से चाहता है, और पैसा कभी गलत नहीं होता है।

+0

बेनेर से "बदसूरत" चुरा लिया; क्रेडिट दे रहा है –

+2

और रिशेर्पर (शायद यहां तक ​​कि वीएस) के साथ आप MyConstantValueThatNeverChanges के लिए MCVTNC टाइप कर सकते हैं, लेकिन यह सभी कैप्स के लिए काम नहीं करेगा। – PostMan

+0

मुझे नहीं लगता कि संक्षिप्त नाम चयन सूची में काम करता है, कम से कम वीएस 2008 के लिए नहीं। –

2

माइक्रोसॉफ्ट अपने नियमों का पालन नहीं करता है क्योंकि यदि आप नई प्रणाली पर प्रतिबिंबित करते हैं। थ्रेडिंग। सी # 4 YOU_WILL_FIND_LOTS_OF_CAP_CONSTANTS में कक्षाएं कक्षाएं।

इसकी शैली एक चीज़ है। व्यक्तिगत रूप से मुझे कोई फर्क नहीं पड़ता। बस सुसंगत रहें।

+0

यह सच है; यदि आप नेट इंटर्नल देखते हैं, तो आपको बुराई होने के बावजूद बहुत सारे 'm_' उपयोग भी मिलते हैं, हंगरी नोटेशन प्रतिबंधित है। –

3

यह कहकर कि सभी कैप्स बदसूरत हैं और इस प्रकार इसका उपयोग नहीं किया जाना चाहिए सीमावर्ती बचपन तर्क है। यह उन लोगों से आता है जो शिकायत करते हैं कि उनका क्या उपयोग नहीं किया जाता है।

जावा से सी तक जाने के बाद, मैंने चर नामों और कार्यों में underscores_between_words का उपयोग शुरू किया। CamelCase बेहद अब बदसूरत है। लेकिन मैं अभी भी शिकायत किए बिना सी ++/जावा के लिए camelCase का उपयोग करता हूं क्योंकि यह संयोजक है।

यदि आप स्वयं को लचीला नहीं बना सकते हैं, तो प्रोग्रामिंग एक कठोर मालकिन बन जाएगी। यह एक प्रोग्रामर का कौशल है।

+2

नहीं, यह निष्पक्ष रूप से खराब है: सभी-अपरकेस को पढ़ने के लिए बस मुश्किल है। मैंने ऑल-अपरकेस के साथ शुरुआत की क्योंकि यह ईबीसीडीआईसी के तहत एकमात्र विकल्प है। अब हमारे पास मिश्रित मामले, ASCII का उपयोग कर केस-संवेदनशील भाषाएं हैं, हमारे पास बेहतर विकल्प हैं। –

+0

@ स्टेवेन: मुझे असहमत होना है। पिज्जाच सही है - ALL_UPPER सिर्फ टेक्स्ट है, और मैंने एक आंकड़े नहीं सुना है जो साबित हुआ कि छोटे मामले की तुलना में इसे पढ़ना मुश्किल है। मैं केवल एक त्वरित नोट बनाउंगा, शब्दों को अलग करने वाले अंडरस्कोर शब्द में एक और चरित्र खर्च करते हैं, इसलिए हमारे पास "व्यापक" या "लंबा" कोड है, जो खराब है। –

+0

@ ब्रूनो: पूंजी पत्र कम-मामले वाले लोगों की तुलना में आकार में समान होते हैं, यही कारण है कि उन्हें पढ़ने में मुश्किल होती है। विकिपीडिया को उद्धृत करने के लिए, "ऊपरी, सभी ऊपरी मामले में लैटिन-वर्णमाला पाठ के लंबे समय तक स्प्रे पढ़ने के लिए कठिन होता है क्योंकि आरोही और निचले मामले के अक्षरों में पाए जाने वाले वंशजों की अनुपस्थिति के कारण, जो मान्यता प्राप्त कर सकते हैं।" –

1

बस बीटीडब्ल्यू के रूप में - ईबीसीडीआईसी बीसीडी (बाइनरी कोडेड दशमलव) का संस्करण बढ़ाया गया है, और इस तरह निश्चित रूप से कम मामले का समर्थन करता है। यह 60 के पुराने और पहले आईबीएम मशीनों (और अन्य) हैं जिनमें कम मामला शामिल नहीं था।

(और, ज़ाहिर है, टीआरएस -80 की तरह जल्दी घर के कंप्यूटर लोअर केस नहीं था, या तो)

+0

आप सही हैं: ईबीसीडीआईसी कम मामले का समर्थन करता है। हालांकि, जहां तक ​​मुझे याद है, आईबीएम 370 के साथ उपयोग की जाने वाली पंच-कार्ड मशीनों ने निम्न-केस वर्णों में प्रवेश करने का कोई तरीका नहीं दिया है। –

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