很难用Python保持80列吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (56)

我发现自己经常断断续续,只是为了让他们在下一行。当然,当我去改变这些字符串(想想日志消息)时,我必须重新格式化这些中断以将它们保持在80列之内。

大多数人如何处理这个问题?

提问于
用户回答回答于

与PEP 8的其他部分一样,80列的限制是一个非常强烈的建议。但是,有一个极限,超过这个极限可以被看作是愚蠢的一致性。

我在Komodo打开了缩进指南和边缘线。那样,我知道我什么时候跑完了。问题是“为什么?” 和“是否值得修复?”

这是我们常见的情况。

记录消息。我们试图让这些容易包装。他们看起来像这样

logger.info( "unique thing %s %s %s",
   arg1, arg2, arg3 )

Django过滤器表达式。这些可以运行,但这是一件好事。我们经常连续编织几个过滤器。但它不一定是一行代码,多行可以使它更清楚发生了什么。

这是一个函数式编程的例子,其中一个长表达式是明智的。但是,我们避免它。

单元测试预期结果字符串。发生这些是因为我们为了创建单元测试代码而进行剪切和粘贴,并且不会花费大量的时间来重构它。当它让我们感到厌烦时,我们将字符串拉出到单独的字符串变量中并清理self.assertXXX()线条。

用户回答回答于

我建议尽量保持为80列,但不要付出任何代价。有时候,就像记录信息一样

print sum(n for n in xrange(1000000) 
             if palindromic(n, bits_of_n) and palindromic(n, digits))

比:

print sum(n for n in xrange(1000000) if palindromic(n, bits_of_n) and palindromic(n, digits))

如果你刚刚写了它,它可能看起来一样,但几天之后,那些长长的曲线变得难以理解。

最后,虽然PEP 8规定了列限制,但它也表示:

风格指南是关于一致性的。与此风格指南保持一致非常重要。项目中的一致性更重要。一个模块或功能内的一致性是最重要的。 但最重要的是:知道什么时候不一致 - 有时风格指南不适用。如有疑问,请使用您的最佳判断。看看其他例子,并决定什么看起来最好。不要犹豫,问!

扫码关注云+社区

领取腾讯云代金券