2013-04-01 7 views
5

मुझे अपने चर के नामों को छोटा लेकिन पठनीय रखना पसंद है।परिवर्तनीय नाम: "अनुक्रमणिका" को संक्षिप्त कैसे करें?

फिर भी, उदाहरण के लिए, कुछ सूची में किसी तत्व की अनुक्रमणिका रखने वाले वेरिएबल का नामकरण करते हुए, मैं elemIndex का उपयोग करता हूं क्योंकि मुझे "इंडेक्स" शब्द का संक्षेप में उचित (और सार्वभौमिक रूप से समझने वाला) तरीका नहीं पता है "।

क्या "अनुक्रमणिका" को संक्षिप्त करने का एक कैननिक तरीका है? या गलतफहमी से बचने के लिए इसे पूरी तरह से जादू करना सबसे अच्छा है?

+5

कभी नहीं मानें कि कोई अन्य डेवलपर आपके संक्षेप को समझ जाएगा। मानवता के लिए, उन्हें जादू करें। –

+0

@BradM: तो का उपयोग कर 'एलन की तरह Idx' करता भी एक बुरा विचार है? –

+0

@mareser आप इसके बारे में सख्त किया जा रहा है, तो हाँ यह एक बुरा विचार है।मैं केवल उन चीजों को संक्षिप्त करता हूं जो वास्तव में लंबे हैं, या संदर्भ से आसानी से स्पष्ट होना चाहिए, और किसी भी मामले में किसी खंड में कहा गया संक्षेप में पहली/महत्वपूर्ण घटना (ओं) टिप्पणी करें। अभ्यास में, संक्षेप से बचने के दौरान अंगूठे का एक अच्छा नियम है, ऐसा करने पर एक बिंदु है जिससे ऐसा आपके कोड की पठनीयता पर प्रतिकूल प्रभाव डाल सकता है (और टाइपो दरों में वृद्धि)। यह निर्णय का मामला है ... या अपने संगठन शैली गाइड के लिए चिपके हुए है। – Alan

उत्तर

7

मेरे अनुभव में यह संदर्भ पर निर्भर करता है। आम तौर पर मैं यह बता सकता हूं कि इसका उपयोग किस चीज के लिए किया जाता है, इसलिए मुझे यह जानने में अधिक रुचि होती है कि यह एक सूचकांक है।

अंगूठे का मेरा नियम मोटे तौर पर इस प्रकार है:

यदि यह एक छोटे से पाश में सिर्फ एक पाश सूचकांक है (जैसे: सभी को एक बार स्क्रीन पर फिट बैठता है) और संदर्भ पाठक क्या सूचकांक कर रही है को सूचित, तो आप शायद i जैसे कुछ सरल से दूर हो सकते हैं।

उदाहरण: एक छवि

//For each pixel in the image, threshold it 
for (int i = 0; i < height; i++) { 
    for (int j = 0; j < width; j++) { 
    if (image[i][j] < 128) { 
     image[i][j] = 0; 
    } else { 
     image[i][j] = 255; 
    } 
    } 
} 

कोड खंड बड़ा है, या आप एक से अधिक indeces चल रहा है, तो thresholding, संकेत मिलता है जो सूची में एक सूचकांक है:

File[] files_in_dir = ...; 
int num_files = files_in_dir.length(); 
for (int fileIdx = 0; fileIdx < num_files; fileIdx++) { //for each file in dir. 
    ... 
} 

अगर, हालांकि सूचकांक वास्तव में कोड के अर्थ के लिए महत्वपूर्ण है, फिर इसे पूरी तरह से निर्दिष्ट करें, उदाहरण के लिए:

int imageToDeleteIdx = 3; //index of the image to be deleted. 
image_list.delete(imageToDeleteIdx); 

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

1

स्थापित और प्रसिद्ध सम्मेलनों के लिए चिपके रहें। यदि आप आम सम्मेलनों का उपयोग करते हैं, तो लोग आपके कोड को पढ़ने पर कम आश्चर्यचकित होंगे।

प्रोग्रामर का उपयोग गणित से कई सम्मेलनों का उपयोग करने के लिए किया जाता है। जैसे गणित में हम आम तौर पर सूचकांक लेबल करते हैं:

i, j, k 

उदाहरण के लिए निर्देशांक को अक्षरों के साथ संदर्भित किया जाता है जैसे:

x, y, z 

यह संदर्भ पर निश्चित रूप से निर्भर करता है। जैसे कुछ वैश्विक सूचकांक को इंगित करने के लिए i का उपयोग भयानक विचार होगा। बहुत से स्थानीय चर के लिए छोटे नामों का उपयोग करें और अधिक वैश्विक कार्यों और चर के लिए लंबे नाम, अंगूठे का एक अच्छा नियम है।

मेरे लिए इस शैली रोब पाईक, जो इस here के बारे में अधिक बताते हैं से प्रभावित था। यूजर इंटरफेस डिजाइन और अनुभव मैं भी इस बारे में और अधिक बड़े पैमाने पर लिखा है में रुचि के साथ किसी के रूप में।

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