不遵循PEP 8并将行截断到79个字符是坏事吗?
我觉得每个写Python代码的人都应该听说过PEP 8。里面有一部分让我印象深刻:
Limit all lines to a maximum of 79 characters.
我现在坐在一个宽屏显示器前,代码写得很舒服,整个屏幕都能用。我并不是在终端里写代码,也不打算在终端里写。因此,我对字符行数的限制没有什么问题。
其实有多少人真的遵循这个限制呢?如果你不是在80个字符限制的终端里写代码,你还会遵循这个限制吗?不遵循这个限制会有什么坏处吗?
我真的不喜欢这个限制居然成了Python的“风格指南”之一 >.<
9 个回答
5
我把我的编辑器设置成可以显示80个字符的限制线,我把它当作一个警告,而不是一个禁止线。如果我能在不超过这个限制的情况下,把代码整齐地继续到下一行,我就这么做。不过,如果为了继续代码而让它变得难以阅读或者让人困惑,那我就会选择写长一点的代码。我不会为了遵守这个限制而让代码变得更难懂。
10
你是唯一会看这段代码的人吗?
无论你用什么编程语言,保持代码行长度短一点是个好习惯。长代码行通常有两种原因:
代码嵌套太深:这种代码很难理解,特别是当嵌套超过两层时。阅读代码时,容易漏掉else语句,或者搞不清楚哪个else对应哪个if,尤其是在函数很长的时候。试着把代码拆分成几个小函数,这样会更容易读懂。
复杂的表达式:比如你要从一个对象中获取另一个对象的值,或者需要对来自10个不同地方的多个值进行操作,然后把所有的函数调用和运算符都放在一行里。如果你使用临时变量,把逻辑分成更小的部分,会大大提高可读性。你也可以了解一下这个法则。
不过,PEP只是个指导原则。如果你觉得有必要,可以适当打破它。如果你经常打破这个原则,那就得重新考虑一下你的代码写法了。
12
PEP 8:
但最重要的是:要知道什么时候可以不遵循规则——有时候,风格指南并不适用。当你不确定的时候,尽量用你自己的判断。