2012-06-11 12 views
9

मेरा प्रश्न: निरंतर जावा चर (विधियों के भीतर) के नाम ऊपरी मामले होने चाहिए?क्या मुझे जावा स्थिर चर घोषित करने के लिए ऊपरी-केस नामकरण का उपयोग करना चाहिए?

मैं हमेशा धारणा के तहत किया गया है कि

क) यदि किसी वैरिएबल कभी नहीं बदल रहा है, यह अंतिम (दिखाने/लागू है कि यह परिवर्तन नहीं होगा करने के लिए) ख घोषित किया जाना चाहिए) यह होना चाहिए अपर-केस में नाम दिया

हालांकि, मैं ग्रहण में देखा है, जब (एक विधि के अंदर) के एक चर बदलते अंतिम/निरंतर होने के लिए, और बाद में पुनर्रचना/कुछ करने के लिए इसे नीचे की तरह नाम बदलने:

final int NODE_COUNT = 3; 

मुझे निम्नलिखित चेतावनी मिलती है:

यह नाम निराश है। सम्मेलन के अनुसार, स्थानीय चर के नाम लोअरकेस अक्षर से शुरू होना चाहिए।

जो मुझे आश्चर्य करता है कि ऊपरी-केस नियम इस उदाहरण में लागू नहीं होता है (यानी एक विधि के भीतर अंतिम चर)।

+1

फ्लीपेंट होने के लिए खेद है, लेकिन क्या किसी और को वाक्यांश "स्थिर चर" मनोरंजक लगता है? – PeteH

+2

इसे फिर से पढ़ने पर मुझे एहसास हुआ कि यह एक ऑक्सीमोरोन है, और शायद अंतिम चर (???) होना चाहिए, हालांकि जब तक कि मैं गलत नहीं हूं, एक बार अंतिम चर घोषित कर दिया गया है, यह _is_ अंतिम है, और इसलिए उस बिंदु पर गैर-परिवर्तनीय भी बन जाता है, फिर से "अंतिम परिवर्तनीय" ऑक्सीमोरोन बना देता है। क्या इसका वर्णन करने का कोई और तरीका है? – Jonny

+1

+1 जॉनी, कृपया इस बारे में बहुत मुश्किल मत सोचो! – PeteH

उत्तर

5

विधियों में आपके पास स्थिरांक नहीं हैं, आपके पास स्थानीय चर हैं, जो final हो सकते हैं। तो लोअरकेस से शुरू होने वाले सामान्य ऊंट का उपयोग पूरी तरह से वहां पर उपयुक्त है।

2

कक्षा स्थिरांक भी static (उन्हें उदाहरण-स्तर के बजाय कक्षा-स्तर बनाना) होना चाहिए, इस मामले में ग्रहण आपको अपरकेस का उपयोग करने के बारे में चेतावनी नहीं देगा।

विधि स्थिरांक में लोअर-केस अक्षर से शुरू होने वाले पहचानकर्ता होना चाहिए, हालांकि, मैं आपके निष्कर्ष से सहमत हूं।

+0

धन्यवाद, हालांकि जब मैं 'स्थैतिक' जोड़ता हूं, तो मुझे पैरामीटर NODE_COUNT के लिए 'अवैध संशोधक' मिलता है; केवल अंतिम अनुमति है 'त्रुटि, इसलिए माना जाता है कि मैं एक विधि के भीतर स्थिर का उपयोग नहीं कर सका। – Jonny

+0

@jonny आप किसी भी विधि के अंदर चर के लिए 'स्थैतिक' संशोधक नहीं जोड़ सकते हैं (इससे कोई फर्क नहीं पड़ता कि यह स्थिर है या नहीं)। विधि डाइनैमिक होने का उल्लेख है - आपके पास आपका तर्क है, इसलिए इसका हिस्सा स्थिर के रूप में परिभाषित नहीं किया जा सकता है .... हालांकि, cource के कारण आप अपनी कक्षा की स्थैतिक फाइलों का उपयोग कर सकते हैं, वे स्थिर हैं। – dantuch

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