2008-10-20 5 views
6

डेटा प्रोसेसिंग में, मुझे अक्सर एक पहचानकर्ता को दूसरे पर मैप करने के लिए लुकअप डेटा संरचना बनाने की आवश्यकता होती है। एक ठोस उदाहरण के रूप में, आइए एक ऐसी संरचना लें जो देश के 2 वर्ण कोड और उसके पूर्ण नाम के बीच 1-से-1 मैपिंग रखती है। इसमें हमारे पासलुकअप मानचित्र/हैश के लिए एक अच्छा नामकरण सम्मेलन क्या है?

AD -> Andorra 
AE -> United Arab Emirates 
AF -> Afghanistan 

इस मानचित्र को रखने वाले चर के लिए एक अच्छा नाम क्या है? कुछ विचार (मैं ऊंट-केस के नाम का उपयोग करेंगे):

countryNameByCode 
nameByCodeLookup 
nameCodeLookup 
codeToName 
+0

संपादन के लिए धन्यवाद, ग्रेग। इसकी यह है! वह एक बग, हालांकि यह मेरे पसंदीदा के रूप में बुरा नहीं है: "आपका गलत।" – Trenton

उत्तर

5

मेरा वोट होगा इस विशेष मामले में codeToName के लिए, और मुझे लगता है कि सामान्यीकृत। यह कहना नहीं है कि यह वह नाम है जिसे मैंने स्वयं सभी मामलों में चुना होगा; जो गुंजाइश, आगे encapsulation, और इतने पर बहुत निर्भर करता है।

String country = codeToName["SV"]; 

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

0

मैं आमतौर पर यह इस तरह से कार्य करें:

countryCodeMappingByName

या अगर मानचित्रण अद्वितीय, बस है:

countryCodeMapping

RWendi

+0

वास्तव में? मैं कल्पना नहीं कर सकता कि हर बार जब मैं उस हैशप का उपयोग करता हूं। – Claudiu

+0

मुझे एक परिवर्तनीय नाम के लिए थोड़ा सा पता है, लेकिन यह आश्चर्यजनक नहीं है, जो मुझे लगता है कि महत्वपूर्ण है ... – RWendi

2

मुझे संग्रह के लिए बहुवचन का उपयोग करना पसंद है।

countryNames 

संपादित करें: countryCodes गलत है, क्योंकि आप एक नाम करने के लिए एक कोड से मानचित्रण कर रहे हैं।

+0

बहुत बुरा जोएल ने अभी तक "निरस्त उत्तर" सुविधा नहीं जोड़ा है। – Trenton

0

कुछ ऐसा उपयोग करें जो इसे घोषित करते समय सही लगता है। इसका मतलब है कि आपके कुंजी चर उचित रूप से नाम दें। उदाहरण:

countryName = countries[countryCode]; 

यह एकदम सही समझ में आता है - आप countries एक countryCode देते हैं, और यह एक countryName देता है। यह निरर्थक होगा:

countryName = countryCodesToNames[countryCode]; 
0

सी # में, मैं एक प्रकार है कि इस CountryCodeToNameMapping करता फोन चाहते हैं। आम तौर पर मैं एक चर countryCodeToNameMapping पर कॉल करता हूं, लेकिन कुछ बहुत सीमित संदर्भों में (उदा।, लैम्बडास), मैं शायद इसे c या m कहूंगा।

3
country_name = countries_by_code[country_code] 

यह "टेलीफोन श्रुतलेख" परीक्षण पास करता है, और यह भी प्राकृतिक भाषा की तरह लगता है।

0

आप जो मैपिंग कर रहे हैं उसे सिर्फ बहुल करने के लिए एक और वोट।

उदाहरण के लिए। country = countries[code]

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