虽然其他问题已经涉及更广泛的sequences和modules类别,但我提出这个非常具体的问题:
“您为词典使用了哪些命名约定?为什么?”
我一直在考虑的一些命名约定样本:
# 'value' is the data type stored in the map, while 'key' is the type of key
value_for_key={key1:value1, key2,value2}
value_key={key1:value1, key2,value2}
v_value_k_key={key1:value1, key2,value2}
不要因为“因为我的工作告诉我”而回答“为什么”,而不是非常有帮助。推动选择的原因更为重要。除了可读性之外,字典命名约定还有其他好的考虑因素吗?
修改
选择回答: value_key_map
选择答案的原因:允许代码审核人员快速轻松地找出地图的关键字和值,以及它是一张地图而无需查看其他地方。
答案 0 :(得分:17)
key_to_value
,例如surname_to_salary
在代码中存在密切相关的地图时可能很有用:a到b,b到a,c到b等。
答案 1 :(得分:7)
我似乎从来没有像你提出的那样命名(即保持一种方式)。当我能找到哈希的“专有名称”时,它似乎更加清晰。它可能是“person_details”或“file_sizes”或“album_tracks”等(尽管最后2个似乎有key_value名称,第一个稍微少一点)。在极少数情况下,如果重要的是地图,则为key_value_map
或value_key_map
。
我永远不会假设任何命名方案。有时价值是你所追求的,有时是关键。我的偏好是“自然名称”。
答案 2 :(得分:3)
我认为在dict中的值之后命名dict是有意义的,并删除任何提到的键。毕竟,你将在values[key]
这样的情况下使用dict,这样就可以很清楚键是什么,假设你将key
命名为。{/ p>
答案 3 :(得分:2)
我通常使用< something> map
,因为它通常是一个地图,例如函数的字符串,或类的数字,或诸如此类的东西。未命名的dicts通常以更大的结构结束,所以我不担心它们。
答案 4 :(得分:2)
我将与到目前为止的许多答案(包括所选答案)进行对比,然后说:
我避免在变量名中添加诸如dict
或map
之类的类型引用。在我看来,这太像匈牙利符号了,感觉非常反Python。
回答我确实使用的问题:
我使用values
,values_by_key
或values_for_key
形式的名称,以最自然的形式阅读。
答案 5 :(得分:0)
在我们的项目中,我们采用了以下惯例:
key_to_value_map
当它是地图时aname_dict
用于更大更复杂的结构。答案 6 :(得分:0)
values_by_key
1.它不像value_key_map
那样令人困惑:您不能混淆什么是值名称和什么是键名称
2.它不会直接命名类型-python样式命名