क्या मेरा तरीका या चर नाम बहुत लंबा है? [बन्द है]


15

इसलिए मैं वर्तमान में कोडिंग के बीच में था, दुर्भाग्य से मेरे लिए, मैं "द ज़ोन" में था फिर मैंने खुद से सोचा, क्या मेरी विधि / चर नाम लंबे समय तक हैं?

मैं जिस क्षेत्र में जाता हूं वहां से पीओपी निकलता है!

तो मैं यहाँ पूछने आया, क्या मेरा तरीका / चर नाम बहुत लंबा है? आप ही फैन्सला करें! बोनस किसी को भी इंगित करता है जो यह पता लगा सकता है कि मैं क्या लिख ​​रहा हूं, हालांकि मुझे यकीन है कि एक गुरु इसे तेजी से समझेगा!

वैसे भी, यहाँ मेरी विधि और परिवर्तनशील नाम कुछ हैं।

तरीके: searchBlockedListForBlockedSquares (), isCurrentSquareNextToAtLeastOneBlockedSquare (), searchBlockedListForBlockedSquares ()

चर: NextToBlockedSquares;

मुझे लगता है कि केवल एक चर था जो बहुत लंबा लग रहा था।


जवाबों:


31

लंबाई के संदर्भ में आपके नाम मुझे ठीक लगते हैं। हालाँकि, उनके नाम के तरीके से पता चलता है कि शायद कुछ नई कक्षाएं क्रम में हैं?

उदाहरण के लिए, searchBlockedListForBlockedSquares()आप के बजाय हो सकता है blockedList.getBlockedSquares()। इसी तरह, isCurrentSquareNextToAtLeastOneBlockedSquare()बन जाता है currentSquare.isAdjacentToABlockedSquare()


आसन्न वह शब्द था जिसकी मुझे तलाश थी! धन्यवाद =)
ब्रायन हैरिंगटन

@ ब्रायन: आपका स्वागत है। :)
एडम लेअर

11

मैं वर्णनात्मक चर नामों पर विश्वास करता हूं, भले ही इसका मतलब लंबे चर नाम हो। और अंतर्मुखता अधिक लोकप्रिय होने के साथ, मेरा मानना ​​है कि यह उत्पादकता के मामले में बहुत प्रभावित करता है।

मुझे संक्षिप्तीकरण से नफरत है क्योंकि वे लगातार उपयोग करने के लिए लगभग असंभव हैं। इसके अलावा, वे अस्पष्ट हो सकते हैं और वे चीजों को पढ़ने में अधिक कठिन बनाते हैं। जब वे एक मानक का हिस्सा होते हैं, तब भी मैं उन्हें पसंद नहीं करता। इसके अलावा, जब यह नीचे आता है, तो वे उस कई अक्षरों को नहीं हटाते हैं जब तक कि आप बहुत संक्षिप्त न करें। और एक संक्षिप्त संक्षिप्तता पठनीयता को मारती है।

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

हालाँकि, आपके उदाहरण के नामों को देखते हुए, यह तथ्य कि ब्लॉकश्रुक के साथ सभी अंत मुझे लगता है कि नाम का हिस्सा निरर्थक हो सकता है। वास्तव में, इसका मतलब यह भी हो सकता है कि इन वस्तुओं को उनकी अपनी कक्षा में इनकैप्सुलेट किया जा सकता है, जिसे संभवत: BlockedSquares नाम दिया गया है। वह परिवर्तन जो नामों को थोड़ा छोटा करता है।


5

एक चर नाम गलत लंबाई है जब यह स्पष्ट रूप से इसका उद्देश्य नहीं बता रहा है। यह बहुत छोटा या बहुत लंबा होने के लिए लागू होता है।

लघु और चंचल चर नाम अस्पष्ट हो सकते हैं, या इससे बुरा कोई संबंध नहीं है कि चर क्या है। बेसिक की व्याख्या के दिनों में, हम दुभाषिया द्वारा दो चरित्र नामों तक सीमित थे। एक बड़े कार्यक्रम में सार्थक नामों के साथ आना बहुत मुश्किल था। एकल अक्षर चर नाम अक्सर लूप और काउंटर के लिए उपयोग किया जाता है, लेकिन मुझे लगता है कि उन्हें अन्यथा से बचा जाना चाहिए। for (i = 0; i < 10; i++) {...}का उपयोग करता है iऔर यह बहुत आम है। jएक द्वितीयक चर नाम है।

लंबे चर नाम बहुत लंबे होते हैं जब वे लंबे-घुमावदार या खाली शब्दों से भरे होते हैं, जिससे वे आवश्यक से अधिक लंबे हो जाते हैं। अगर मेरे पास समान नाम वाले चर का एक गुच्छा है, तो मैं उन सामान्य भागों को हटाने की कोशिश करूँगा जो कि डिस्पेंसेबल हैं और नामों के विशिष्ट हिस्सों को पहचानते हैं।

अगर मैं रूबी में कर रहा होता तो मैं " isCurrentSquareNextToAtLeastOneBlockedSquare" नाम currentSquareNextToBlockedSquare?रखता।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.