我发现自己不断地断线,只是为了把它们放到下一行。当然,当我要更改这些字符串(比如日志消息)时,我必须重新格式化这些分隔符,使它们保持在80列之内。
大多数人是如何处理这个问题的?
最佳答案
“愚蠢的一致性是小头脑的流浪汉,受到小政治家、哲学家和神明的崇拜。”
重要的是“愚蠢”。
与PEP8的其他部分一样,80列的限制是一个相当强烈的建议。但是,有一个限度,超过这个限度就可以被视为愚蠢的一致性。
我在科莫多打开了压痕导板和边缘线。那样的话,我就知道什么时候我跑过去了。问题是“为什么?”“值得修理吗?”
这是我们的常见情况。
记录消息。我们尽量使这些容易包装。他们看起来像这样
logger.info( "unique thing %s %s %s",
arg1, arg2, arg3 )
Django筛选器表达式。这些可以继续运行,但这是件好事。我们经常
把几个过滤器连成一行。但它不一定是一行代码,
多行可以让事情更清楚。
这是一个函数式编程的例子,其中一个长表达式是合理的。然而,我们避免了它。
单元测试预期结果字符串。这是因为我们剪切和粘贴以创建单元测试代码,而不花很多时间重构它。当它困扰我们时,我们将字符串拉出到单独的字符串变量中,并清除
self.assertXXX()
行。我们通常没有很长的代码行,因为我们不使用lambda。我们不追求流畅的课堂设计。我们不会传递很多很多的论点(除了少数情况)。
我们很少有很多函数式冗长的表达式。当我们这样做的时候,我们不会尴尬地将他们分开,留下一个中间结果。如果我们是功能纯粹主义者,我们可能有中间结果变量的气体,但我们不是纯粹主义者。