【发布时间】:2011-01-25 05:53:14
【问题描述】:
虽然其他问题涉及更广泛的 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
选择答案的原因:让代码审查员能够快速轻松地找出地图的键和值,以及它是地图的事实,而无需查看其他任何地方。
【问题讨论】:
-
恕我直言,许多有数学背景的人可能会觉得
value_key_map相当混乱,因为这可能表明字典将值映射到键(即倒排字典),这显然不是有意的。 -
用 python 的说法,
dict是正确使用的术语。 (map是函数docs.python.org/3/library/functions.html#map.)最好命名为key_value_dict,例如id_user_dict以id作为键,user作为值。 -
如果名称中已经存在下划线怎么办?例如
item_id_name_age_map,你能猜出什么是key和value吗?
标签: python dictionary naming-conventions mapping