"फोब्स की संख्या" चर के लिए नामकरण सम्मेलनों [बंद]


90

मान लीजिए कि मुझे एक चर में फू वस्तुओं की संख्या को संग्रहीत करने की आवश्यकता है।

देशी अंग्रेजी बोलने वाला नहीं, मुझे हमेशा आश्चर्य होता है कि उस संस्करण के लिए सबसे अच्छा (= संक्षिप्त और तुरंत स्पष्ट) नाम क्या है।

foo_num? num_foo? no_foo? foo_no? या कुछ और?

पूरा नाम होना चाहिए number_of_foos, लेकिन यह थोड़ा क्रियात्मक है।

आपका पसंदीदा और क्यों?


मुझे fooCount उत्तर पसंद आया, लेकिन मुझे नहीं लगता कि number_of_foos बहुत लंबा है, लेकिन मुझे लगता है कि यह वास्तव में "फू" है जो निर्भर करता है।
मौका '

और यह भी कि आप चर के साथ क्या करना चाहते हैं। number_of_foosइसके साथ अंकगणित के भाव जल्दी ही बोझिल हो जाते हैं।
13:76 पर user7610

जवाबों:


52

मैं इसके लिए जाता हूं fooCountक्योंकि यह सीधा है, और मुझे लगता है कि "गिनती" शब्द सबसे छोटा और सबसे अच्छा है जो इसका वर्णन करता है, "संख्या" या पसंद नहीं।

FOO_COUNTअगर आप इसे अंतिम और स्थिर संग्रहीत करने की आवश्यकता है (अगर आप इसे बदलने की जरूरत नहीं है / अगर यह एक स्थिर है) के लिए मैं जाता हूं । (स्थिरांक के लिए सभी टोपियां!)

यदि आप वास्तव में इसे एक वर्ग के लिए एक विशेषता के रूप में संग्रहीत करते हैं, जो आपने किया है, तो मैं countइसे बुलाता हूं ।Foo.countFoo

आप और आपकी टीम के लिए पठनीयता!


foosCount, क्योंकि बहुवचन भी बेहतर एक सेट का प्रतिनिधित्व करता है। और यह चीजों के एक सेट की गिनती माना जाता है।
मैग्नी

लेकिन यह निर्भर करता है। कुछ नामों के लिए बहुवचन अच्छा लगता है gamesIncludedCount, लेकिन अन्य नामों जैसे कि एकवचन ध्वनि बेहतर होती है gameCount
मैग्ने

26

चूँकि चर foo ऑब्जेक्ट्स की संख्या की गिनती को संग्रहीत करता है, fooCountमेरा वोट प्राप्त करता है।


एक तर्क जोड़ने के लिए +1 (हालांकि फंक्शनिंग असंगत है)।

1
@delnan - आम तौर पर मैं विस्तृत होगा लेकिन मैं अपने फोन से उत्तर दे रहा हूं।
जस्टिन निस्नेर

17

अंग्रेजी में, 'नंबर' और 'काउंट' शब्द संज्ञा या क्रिया के रूप में कार्य कर सकते हैं, लेकिन संज्ञा के रूप में प्रयुक्त 'संख्या' और क्रिया के रूप में 'काउंट' देखना संभवतः अधिक सामान्य है। इसलिए आप तर्क दे सकते हैं कि 'फू की संख्या' या 'अंक_फू' 'फू काउ' या 'फू_काउंट' की तुलना में अधिक परिचित है। यह निश्चित रूप से मेरे लिए अधिक स्वाभाविक लगता है जब एक मात्रा को संदर्भित करना जो लगातार नहीं बदल रहा है। संज्ञा के रूप में उपयोग किए जाने पर भी 'काउंट' शब्द मुझे एक ऐसे मूल्य की ओर संकेत करता है जो समय के साथ बढ़ता जा रहा है।

रूबी और पायथन में .count विधियाँ हैं, जो संज्ञा के बजाय क्रिया के रूप में प्रयुक्त होने वाले शब्द को प्रदर्शित करती है। रूबी में आप कह सकते हैं:

foos.count   # Count how many elements in the array 'foos'

फिर भी, यह फ़ॉस्स की संख्या का प्रतिनिधित्व करने वाला एक मान देता है, जो कि आप 'foo_count' नाम के एक चर का संदर्भ देते हुए ठीक वैसा ही कर सकते हैं जैसा कि आप उम्मीद कर सकते हैं। तो कुछ मायनों में, यह तथ्य कि 'foos.count' और 'foo_count' समान दिखते हैं, एक तरह से अच्छा है।

'नंबर' कुछ उदाहरणों में अस्पष्ट हो सकता है, क्योंकि संख्याओं को संग्रहीत करना आम है जो किसी चीज़ की मात्रा का प्रतिनिधित्व नहीं करते हैं। अन्य लोगों ने पहले ही आईडी और क्रेडिट कार्ड नंबर का उल्लेख किया है। यहाँ एक और उदाहरण है:

num_string

उस चर नाम को देखते हुए, क्या आप अनुमान लगा सकते हैं कि यह क्या दर्शाता है? क्या यह स्ट्रिंग्स की मात्रा का प्रतिनिधित्व करने वाला पूर्णांक है, या यह एक संख्या का एक स्ट्रिंग प्रतिनिधित्व है?

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

BTW, मुझे 'nr_foo' पसंद नहीं है, क्योंकि 'nr' वास्तव में मुझे 'नंबर' शब्द की तरह सुझाव या ध्वनि नहीं देता है। यह 'नीर' जैसा लगता है, या शायद 'रेटेड' या 'राष्ट्रीय रग्बी' के लिए खड़ा है। :-) और मैं यह कहने के लिए भी उद्यम नहीं करूंगा कि fooCnt कैसा लगता है। बस नहीं।


15

लिनक्स कर्नेल "nr_foo" का उपयोग करता है, जो "no_foo" (जो कि एक नकार की तरह दिखता है) से बेहतर है। मैं खुद "fooCount" या "fooCnt" का उपयोग करता हूं, लेकिन कभी-कभी "numFoo" भी। मुझे यकीन नहीं है कि मैं "fooCount" और "numFoo" के बीच टीकाकरण क्यों करता हूं। लगता है कि यह मेरे मूड पर निर्भर करता है। लेकिन आप, आपको सुसंगत होना चाहिए (जैसा मुझे होना चाहिए);)


4
@rjack - "संख्या" अस्पष्ट है, "गणना" विशिष्ट है। एक संख्या एक आईडी हो सकती है, उदाहरण के लिए। [मुझे लगता है कि मैककॉनेल इस बिंदु को "कोड कम्प्लीट" में बनाता है, लेकिन मेरे पास इसकी कोई प्रति नहीं है।] "संख्या" की संक्षिप्तताओं को समझने की संभावना (लिनक्स कर्नेल लेखकों की तुलना में) में "nFoo" और "numFoo" शामिल हैं।
एंडी थॉमस

1
@Andy थॉमस-क्रैमर - इतना भ्रामक नहीं IMHO: credit_card_nr"क्रेडिट कार्ड नंबर" की nr_credit_cardsतरह लगता है , जबकि "क्रेडिट कार्ड की संख्या" जैसा लगता है और यह इससे छोटा है credit_cards_count। मेरे लिए काफी स्वाभाविक लगता है (लेकिन मैं गलत हो सकता हूं क्योंकि मैं मूल अंग्रेजी वक्ता नहीं हूं)।
गियाकोमो

1
@rjack यह वैसे भी credit_card_count होगा, क्योंकि आप आम तौर पर संज्ञाओं का बहुवचन नहीं करते हैं जब वे एक यौगिक का हिस्सा होते हैं।
siride

1
लिनक्स का "एनआर" और आपका उत्तर इस बात का एक अच्छा उदाहरण है कि "नंबर" शब्द कितना भ्रामक है। लिनक्स में, "nr" है (भी?) का अर्थ गणना के बजाय अनुक्रमिक संख्या से है। जैसे सिस्टम कॉल __NR_openकी संख्या नहीं है open- यह सिस्टम कॉल का सूचकांक है, अर्थात आप सिस्टम कॉल निर्देश को पास करते हैं, यह निर्दिष्ट करने के लिए कि आप किस सिस्टम कॉल को आमंत्रित कर रहे हैं।
रुस्लान

1
@ काल के उत्तर के रूप में, मैं व्यक्तिगत रूप से fooCntइसे गलत तरीके से व्याख्या करने की क्षमता के कारण से बचूंगा।
Ruben9922


5

मैं व्यक्तिगत रूप से के लिए जाना होगा total_foosया totalFoosभाषा मानक के आधार पर। यह बेहतर प्रतिनिधित्व करता है कि मूल्य एक अंतिम कुल है और न केवल एक चलने वाली गिनती है।

यह कहने के लिए भी अधिक समझ में आता है कि "मेरे पास 3 कुल फॉक्स हैं" के बजाय "मेरे पास फोस की 3 गिनती है"।

कुल मिलाकर, यह एक बड़ी बात नहीं है लेकिन मैं हमेशा का उपयोग totalअधिक count!


1
totalFoosइसका मतलब यह हो सकता है कि यह फोस का एक पूरा सेट है (यह मेरे मामले में हुआ, जब मैं विभिन्न सेटों को इकट्ठा कर रहा था)। इसके अलावा, पठनीयता के लिए शब्द की शुरुआत में पहचानकर्ता होना अच्छा है। इसलिए मैं इसके साथ जाऊंगा foosCount, क्योंकि यह कम महत्वाकांक्षी है और इसके साथ शुरू होता है foo*। आप यह भी कह सकते हैं कि "मेरे पास 3 का फ़ॉस्काउंट है"।
मैग्नी

3

ज्यादातर fooCountसभी ने कहा। कभी-कभी यह उपयोग करने के लिए अधिक उपयुक्त होता है foos, आमतौर पर जब आपके पास वास्तव में फॉस की सूची नहीं होती है, या वे अलग-अलग ऑब्जेक्ट नहीं होते हैं (उदाहरण के secondsलिए, एक पिज्जा के लिए जो आपके पास हो सकते हैं slices, आदि)

केवल foosतब ही उपयोग करें जब भ्रम की कोई संभावना नहीं है - हालांकि जब यह स्पष्ट हो कि आपके पास इस संदर्भ में फ़ॉक्स की सूची कभी नहीं होगी।


यदि आप foosकभी-कभी " fooऑब्जेक्ट्स की संख्या " और अन्य बार " fooऑब्जेक्ट्स के संग्रह" का मतलब करने के लिए उपयोग करते हैं, तो मुझे लगता है कि भ्रम हो सकता है।
जेम्स मैकनेलिस

slicessliceवस्तुओं की एक सरणी की तरह मुझे लगता है , कि एक pizzaवस्तु का हिस्सा हैं । मैं उपयोग करूँगा sliceCount, या nr_slices, या जो भी (मैंने अभी तक तय नहीं किया है: D)
जियाकोमो

हां, केवल उस समय का उपयोग करें जब कंस्यूजन का कोई मौका नहीं है
विन्यासकर्ता

2

मैं कुछ चीज़ों की मात्रा के लिए उपयोग करता हूँ: someCount ( something_count )

मैं somethings के अनुक्रम संख्या के लिए उपयोग करता हूं: someIndex ( something_index ), क्योंकि "संख्या" शब्द अस्पष्ट है ( इसका अर्थ मात्रा और अनुक्रम संख्या है )



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