Was ist eine gute Namenskonvention für eine Referenz Karte / Hash?
-
03-07-2019 - |
Frage
In der Datenverarbeitung, ich brauche häufig eine Lookup-Datenstruktur erstellen eine Kennung zu einem anderen zu kartieren. Als konkretes Beispiel wollen wir eine Struktur nehmen, die eine 1-zu-1 hält Zuordnung zwischen einem 2-stelligen Code des Landes und seinen vollständigen Namen. Darin hätten wir
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
Lösung
Meine Stimme für codeToName
in diesem speziellen Fall wäre, und ich denke, dass verallgemeinert. Das ist nicht zu sagen, dass es der Name ist ich mich in allen Fällen gewählt hätte; das hängt stark von Umfang, weitere Verkapselung, und so weiter. Aber es fühlt sich wie ein guter Name, sollte dies Ihr Code lesbar helfen machen:
String country = codeToName["SV"];
Sieht ziemlich nett, sollte von jedem leicht verständlich sein. ändern möglicherweise das Wort „Code“, um etwas genauer ( „country“ wäre meine nächste Wahl sein).
Andere Tipps
country_name = countries_by_code[country_code]
Er übergibt den „Telefondiktat“ -Test, und auch klingt eher wie natürliche Sprache.
Ich mag Plurale für Sammlungen verwenden.
countryNames
Edit:. countryCodes
ist falsch, weil man von einem Code zu einem Namen zuordnen
Ich mache es in der Regel so aus:
countryCodeMappingByName
oder wenn die Zuordnung ist einzigartig, so einfach:
countryCodeMapping
Verwenden Sie etwas, das richtig klingt, wenn es auszusprechen. Dies bedeutet auch, Ihre Schlüsselvariablen entsprechenden Namen. Beispiel:
countryName = countries[countryCode];
Das macht durchaus Sinn - Sie geben countries
eine countryCode
, und es gibt einen countryName
. Dies wäre redundant:
countryName = countryCodesToNames[countryCode];
In C #, würde ich eine Art nennen, die diese CountryCodeToNameMapping
tut. Normalerweise würde ich eine Variable countryCodeToNameMapping
nennen, aber in bestimmten sehr eingeschränkten Kontexten ( z. , Lambda-Ausdrücke), würde ich wahrscheinlich nennt es c
oder m
.
Eine weitere Stimme für nur pluralizing, was Sie Abbildung zu.
zB. country = countries[code]