查找映射/哈希的命名约定是什么?

时间:2008-10-20 05:50:52

标签: language-agnostic naming-conventions

在数据处理中,我经常需要创建一个查找数据结构来将一个标识符映射到另一个标识符。作为一个具体的例子,让我们采用一个结构,该结构在一个国家的2个字符代码和它的全名之间保持一对一的映射。在其中我们会有

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

保存此地图的变量有什么好名字?一些想法(我将使用驼峰式名称):

countryNameByCode
nameByCodeLookup
nameCodeLookup
codeToName

8 个答案:

答案 0 :(得分:5)

在这种特殊情况下,我的投票将是codeToName,我想这是概括的。这并不是说这是我在所有情况下都会选择的名字;这在很大程度上取决于范围,进一步的封装等等。但它感觉就像一个好名字,应该有助于使您的代码可读:

String country = codeToName["SV"];

看起来相当不错,任何人都应该容易理解。可能会将“代码”改为更精确的字样(“国家代码”将是我的下一个选择)。

答案 1 :(得分:3)

country_name = countries_by_code[country_code]

它通过了“电话听写”测试,听起来更像是自然语言。

答案 2 :(得分:2)

我喜欢将复数用于收藏。

countryNames

编辑:countryCodes错误,因为您正在从代码映射到名称。

答案 3 :(得分:0)

我通常这样做:

countryCodeMappingByName

或者如果映射是唯一的,只需:

countryCodeMapping

RWendi

答案 4 :(得分:0)

在发音时使用听起来正确的东西。这也意味着恰当地命名您的关键变量。例如:

countryName = countries[countryCode];

这很有道理 - 你给countries一个countryCode,然后返回countryName。这将是多余的:

countryName = countryCodesToNames[countryCode];

答案 5 :(得分:0)

在C#中,我会调用一个执行此CountryCodeToNameMapping的类型。通常我会调用变量countryCodeToNameMapping,但在某些非常有限的上下文中(例如,lambdas),我可能会将其称为cm

答案 6 :(得分:0)

另一个投票只是为了复制你所映射的内容。

例如。 country = countries[code]

答案 7 :(得分:0)

我会选择

countryName = countryByCode["DE"]

除非您的代码中有国家/地区类,否则我会选择

countryName = countryNameByCode["DE"]

清晰,简洁且易于阅读。

地图首先不是集合,而是地图。因此,我不会选择countriescountriesByCode之类的名称。根据上下文,有时 强调地图的论点是合理的(请参见unwind's answer)。但就我个人而言,我认为

countryName = CountryCodeToName["DE"]

或类似的内容不能反映您的意图(获取国家/地区名称)以及上面给出的名称。