缩短代码中单词的最佳标准是什么?

时间:2017-10-17 12:07:35

标签: python coding-style standards

我希望这个问题不会被关闭/投票,因为我花了很多时间来编码。

作为一个更专注于Python的开发人员,我尝试遵循PEP8标准,但对于一些变量名称,它对我来说变得非常棘手。

我们说温度这个词。

如果我想要一个变量来存储温度列表,我会给它命名:

temperature_list = []

然而,随着代码变得越来越复杂,假设我必须使用temperature_list作为参数调用函数:

calling_function(variable_with_long_name, temperature_list, another_long_name_variable)

你可以清楚地看到它在哪里......

所以我决定将temperature_list重命名为temp_list。哪个听起来不错?对吧?

...除

如果我还想将TEMPORARY FILES存储在列表中,我可能会遇到:

temp_list = []
temp_file_list = []

这可能会导致我的变量开始变得混乱并且使代码变得有点棘手。

当遇到这样的情况时,程序员会采取什么惯例和其他行动?是否有任何关于此类案例的参考,例如某些名词的良好变量名称的案例手册?

- 编辑

如果你投票支持关闭它,至少可以解释原因! - '

1 个答案:

答案 0 :(得分:1)

通常,您需要找到不太长的聪明名称,但要正确解释变量。当这个失败,或者有太多的变量在做类似的工作时(所以会有密切的名字),你可以选择解释文档字符串或注释中的变量,并给出短名称(仍然有意义的名称,而不是a,b等...)

def function(a, b):
    """
    l_variable used for bla bla,
    lo_variable is good for bla bla.
    """

    l_variable = 12
    lo_variable = 123
    lon_variable = 1234 # This is an integer bla bla

当你真的需要长变量名时,我有时无法避免自己,我试图降低行长度而不破坏代码的目的。例如,在函数调用中断行(如示例所示)。

def f(a, b, c):
    print a + b + c

this_is_a_long_variable_name = "Stack"
this_is_an_even_longer_variable_name = "Over"
this_is_the_longest_variable_name_in_this_example = "flow"

f(this_is_a_long_variable_name,
    this_is_an_even_longer_variable_name,
    this_is_the_longest_variable_name_in_this_example)