我希望我没有打破任何这样的规则:当变量嵌套在多个层次的深度,有相当长的名称,并且被分配相当长的值/表达式时,为变量赋值的首选样式是什么。
例如:
if this:
if that:
if here:
if there:
big_variable['big_key']['big_value'] = another_big_variable_that_pushes_line_over_79_characters
other_thing = something
字符限制只有个位数,但我想清理我的代码,使其尽可能忠实地遵循PEP8。我已经做了以下的工作,但是我对python还比较陌生,我不确定是不是这样的事情会让一个有经验的python程序员畏缩不前:
if this:
if that:
if here:
if there:
big_variable['big_key']['big_value'] = \
another_big_variable_that_pushes_line_over_79_characters
other_thing = something
我得到的印象是行继续字符有点忌讳;但是如果我使用这些大字典,我不能在变量名中间做一个干净的突破,我真的想不出比我有更干净的解决方案了。谢谢你的帮助!
行继续是有点忌讳的,但不是世界末日。我们必须始终努力编写代码,以便其他程序员能够理解我们在做什么。
使用行连续字符
\
只是我们实现易读性目标的工具之一。命名约定是另一个问题。正如达芬奇所说,“简单是最高级的。”如果你能使变量名变得小巧易懂,那么你就是最高级的;-)。仅仅说
var1, var2, var3
等太容易了。想出好名字是一项需要努力的技能。您希望看到名为
ChiefExecutiveOfficerOfCompanysName
或CEOName
的变量吗?如果您可以组合
if
语句,那么您的代码将变得更加清晰。很有可能,如果您有一个很大的if...else-if
层次结构,那么您就做错了(这是一个code smell)。例如,您可以更改:进入这个:
或者把这样的粗逻辑丢到一个求值函数中,比如:
把代码分解成逻辑部分,然后把这些部分放入函数中,是另一种使代码可读的方法(我们只有这么多的RAM,我们希望把整个函数都放在其中。。。人类不太擅长寻呼)
避免使用参数化函数或一些好的designpatterns来复制和粘贴稍有更改的代码
我认为Python中的行继续没有任何问题。但有时我更喜欢这样:
它在长表达式中也很有用。
相关问题 更多 >
编程相关推荐