2008-10-20 14 views
6

In der Datenverarbeitung, ich brauche häufig eine Lookup-Datenstruktur abzubilden eine Kennung zu einem anderen zu schaffen. Als konkretes Beispiel nehmen wir eine Struktur, die eine Eins-zu-Eins-Zuordnung zwischen dem 2-stelligen Code eines Landes und seinem vollständigen Namen enthält. In ihm hätten wirWas ist eine gute Namenskonvention für eine Lookup Map/Hash?

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

Was ist ein guter Name für die Variable, die diese Karte halten würde? Einige Ideen (Ich werde Kamel-Fall-Namen verwenden):

countryNameByCode 
nameByCodeLookup 
nameCodeLookup 
codeToName 
+0

Danke für die Bearbeitung, Greg. Es ist es! Das ist ein Fehler, obwohl es nicht so schlimm ist wie mein Favorit: "dein Fehler." – Trenton

Antwort

5

Meine Stimme wäre für codeToName in diesem speziellen Fall, und ich denke, dass verallgemeinert. Das heißt nicht, dass es der Name wäre, den ich mir in allen Fällen selbst ausgesucht hätte; das hängt sehr vom Umfang, der weiteren Kapselung und so weiter ab. Aber es fühlt sich wie ein guter Name, soll das helfen, Ihren Code lesbar machen:

String country = codeToName["SV"]; 

Sieht ziemlich nett, sollte von jedem leicht verständlich sein. Ändern Sie das Wort "code" möglicherweise in etwas genaueres ("countrycode" wäre meine nächste Wahl).

0

ich es normalerweise tun, um diese Art und Weise:

countryCodeMappingByName

Oder wenn die Abbildung ist einzigartig, so einfach:

countryCodeMapping

RWendi

+0

wirklich? Ich kann mir nicht vorstellen, dass ich das jedes Mal eingeben muss, wenn ich dieses hashmap benutze. – Claudiu

+0

Ich weiß, es ist ein bisschen lang für einen variablen Namen, aber es ist nicht ambig, was ich denke, ist wichtig ... – RWendi

2

Ich mag Plurale für Sammlungen verwenden.

countryNames 

Edit: countryCodes falsch ist, weil man von einem Code auf einen Namen zuordnen.

+0

Schade Joel hat noch keine "Widerruf Antwort" -Funktion hinzugefügt. – Trenton

0

Verwenden etwas, was richtig klingt, wenn es auszusprechen. Dies bedeutet auch, dass Sie Ihre Schlüsselvariablen entsprechend benennen. Beispiel:

countryName = countries[countryCode]; 

Dies macht durchaus Sinn - Sie geben countries eine countryCode, und es gibt einen countryName. Dies wäre überflüssig:

countryName = countryCodesToNames[countryCode]; 
0

In C#, würde ich eine Art nennen, die diese CountryCodeToNameMapping tut. Normalerweise würde ich rufe eine Variable countryCodeToNameMapping, aber in bestimmten sehr begrenzten Kontexten (z, lambda), würde ich wahrscheinlich nenne es c oder m.

3
country_name = countries_by_code[country_code] 

Es besteht den Test "Telefondiktat" und klingt auch mehr wie natürliche Sprache.

0

Eine weitere Stimme für nur pluralizing was Sie kartieren.

z. country = countries[code]

Verwandte Themen