質問

データ処理では、ある識別子を別の識別子にマップするためのルックアップ データ構造を作成する必要が頻繁にあります。具体的な例として、国の 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 は、コードから名前にマッピングしているため間違っています。

通常は次のようにします:

countryCodeMappingByName

またはマッピングが一意である場合は、単に次のようにします。

countryCodeMapping

RWendi

発音時に正しい音を使用します。これは、キー変数に適切な名前を付けることも意味します。例:

countryName = countries[countryCode];

これは完全に理にかなっています- countries countryCode を指定すると、 countryName が返されます。これは冗長になります:

countryName = countryCodesToNames[countryCode];

C#では、この CountryCodeToNameMapping を実行する型を呼び出します。通常、変数 countryCodeToNameMapping を呼び出しますが、特定の非常に制限されたコンテキスト( eg 、ラムダ)では、おそらく c または m

マッピング先を複数形にするだけの別の投票。

eg。 country = countrys [code]

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top