2011-10-05 13 views
5

कभी-कभी यह एक चर को बहुवचन के रूप में नामित करने के लिए मोहक होता है जब यह किसी सरणी या सूची जैसी वस्तुओं का संग्रह होता है। क्या यह ठीक है या क्या हम हमेशा चर के लिए एकवचन नामों के साथ रहना चाहिए?क्या हमें चर के लिए बहुवचन नामों से बचना चाहिए?

vector<string> students; // it is named as students rather singular student 

    students.push_back("Mark"); 
    students.push_back("Steve"); 

    // lets say we are using index to retrieve it, it does look 
    // a little clumsy 

    string current_student = students[0]; 

वैकल्पिक रूप से हम नीचे की तरह विलक्षण रूप में कंटेनर वस्तु को परिभाषित कर सकते हैं लेकिन यह प्रतिनिधित्व करने के लिए कैसा दिखता है: एक उदाहरण के रूप में कारों का एक संग्रह 'कार' या 'कार'

एक और उदाहरण पर विचार कहा जा सकता है छात्रों के संग्रह के बजाय अब एक वस्तु? यह सूचकांक का उपयोग बेहतर बनाता है हालांकि।

vector<string> student; 

एक अन्य विकल्प है कि मैं व्यक्तिगत रूप से पसंद है कुछ इस तरह है:

vector<string> student_list; 

मैं '_list' संग्रह चर नाम (या ऊंट अंकन हो सकता है) (भले ही अगर अपने वेक्टर या सूची या संलग्न नक्शा)। इस तरह वस्तु का नाम एकवचन है, फिर भी यह वस्तुओं की संग्रह के रूप में खुद को पहचानता है।

कौन सा बेहतर तरीका या सम्मेलन और ऊपर के अधिक पठनीय है? क्या बहुवचन नामों से पूरी तरह से बचा जाना चाहिए?

इसके अलावा एक और सरल उदाहरण के बारे में सोच के रूप में अच्छी तरह से, कहते हैं कि जहां हम एक दिन के तापमान में अलग अंतराल पर 100 बार रिकॉर्ड तो हम एक प्रयोग का आयोजन कर रहे हम:

 float temperatures[100]; // or temperature[100]? or temperature_list[100]? 

या शायद यह भी अलग अलग तरह:

float temperature_data[100]? 

उत्तर

3

बहुवचन ठीक हैं - असल में, मैं अनुमानित - जब नाम वस्तुओं के संग्रह (यानी: एक सेट, सूची, वेक्टर, सरणी इत्यादि) को संदर्भित करता है। temperature_data जैसे नाम संदिग्ध हो सकते हैं कि वे एक आइटम या उनमें से एक समूह का उल्लेख करते हैं या नहीं। दूसरी ओर, temperatures, स्पष्ट रूप से एक से अधिक को संदर्भित करता है।

+4

बेवकूफ nitpick: '' temperature_data' temperature_datum' का बहुवचन है: पी –

+0

मैं अगर किसी को वास्तव में शब्द "गृहीत" अब और इस्तेमाल किया आपसे सहमत हूँ। :) इन दिनों, "डेटा" एक द्रव्यमान संज्ञा है, और इसे कम से कम एकवचन माना जाता है क्योंकि यह बहुवचन है। – cHao

+0

क्या यह नामस्थान नाम के लिए भी जाना होगा? तो, कई पॉलिसी कक्षाओं वाले नामस्थान को 'पॉलिसी' की बजाय 'नीतियों' का नाम दिया जाना चाहिए? – AlwaysLearning

6

एर, यह ठीक क्यों नहीं होगा? अंत में, यह वास्तव में कोई फर्क नहीं पड़ता कि आप किस सम्मेलन के साथ आएंगे, क्या मायने रखता है कि यह लगातार उपयोग किया जाता है, और नकारात्मकता को नकारात्मक रूप से प्रभावित नहीं करता है।

+2

हालांकि, एक ही दायरे में 'छात्र' * और * छात्र' होने से पठनीयता के मुद्दे सामने आएंगे :) –

+0

@MatthieuM .: I dunno। 'छात्र = छात्र' होना निश्चित रूप से बुरा होगा! लेकिन यदि छात्र हमेशा * ए * छात्र होता है, तो यह "वर्तमान" छात्र का प्रतिनिधित्व करने वाले चर के लिए आसानी से उपयुक्त नाम हो सकता है क्योंकि आप 'छात्रों' के माध्यम से लूपिंग कर रहे हैं। – cHao

0

मुझे बहुवचन होने में कोई समस्या नहीं है - जब तक आप एक ही दायरे में एकवचन और बहुवचन होने से बचें। बस वर्णनात्मक चर बनाओ।

3

यदि वस्तु/वस्तु एक बहुवचन है, तो आपको इसे बहुवचन नाम के साथ नामित करना चाहिए।

मुझे नहीं लगता कि students[0] उदाहरण बिल्कुल भ्रमित है। मैंने इसे "छात्र-सब-शून्य" के रूप में पढ़ा है जिसका मूल रूप से मतलब है कि मुझे जो भी छात्र सूचकांक शून्य में मिलता है। अगर मैंने चीजों को सही तरीके से नामित किया है तो यह स्पष्ट होना चाहिए कि यह बात एक छात्र (एकवचन) है।

+0

वर्तमान में, मेरे पास एक प्रोग्राम में सरणी 'कण', 'आयन' लेकिन 'सर्फैक्टेंट' है, क्योंकि 'सर्फैक्टेंट' एक ही प्रकार के एकाधिक सर्फैक्टेंट अणुओं के बजाय कई प्रकार के सर्फैक्टेंट का उल्लेख करेंगे। मैं इसके साथ थोड़ा असहज हूँ ... –

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