ルックアップ マップ/ハッシュの適切な命名規則は何ですか?
-
03-07-2019 - |
質問
データ処理では、ある識別子を別の識別子にマップするためのルックアップ データ構造を作成する必要が頻繁にあります。具体的な例として、国の 2 文字コードとそのフルネームの間の 1 対 1 マッピングを保持する構造を考えてみましょう。その中で私たちはこうなるだろう
AD -> Andorra
AE -> United Arab Emirates
AF -> Afghanistan
このマップを保持する変数に適切な名前は何でしょうか?いくつかのアイデア (キャメルケースの名前を使用します):
countryNameByCode
nameByCodeLookup
nameCodeLookup
codeToName
解決
この特定のケースでは、私の投票は codeToName
になります。それは、すべての場合に自分が選んだ名前だと言っているわけではありません。それはスコープ、さらなるカプセル化などに大きく依存します。しかし、それは良い名前のように感じられ、コードを読みやすくするのに役立つはずです:
String country = codeToName["SV"];
かなり見栄えがよく、誰でも簡単に理解できるはずです。おそらく「コード」という単語を変更しますより正確なものに(「国コード」が私の次の選択肢になります)。
他のヒント
country_name = countries_by_code[country_code]
「電話ディクテーション」テストに合格しており、より自然言語に近い音声です。
コレクションに複数形を使用したい。
countryNames
編集: countryCodes
は、コードから名前にマッピングしているため間違っています。
発音時に正しい音を使用します。これは、キー変数に適切な名前を付けることも意味します。例:
countryName = countries[countryCode];
これは完全に理にかなっています- countries
に countryCode
を指定すると、 countryName
が返されます。これは冗長になります:
countryName = countryCodesToNames[countryCode];
C#では、この CountryCodeToNameMapping
を実行する型を呼び出します。通常、変数 countryCodeToNameMapping
を呼び出しますが、特定の非常に制限されたコンテキスト( eg 、ラムダ)では、おそらく c
または m
。
マッピング先を複数形にするだけの別の投票。
eg。 country = countrys [code]