我认为每个Python代码都见过PEP 8。对我说的部分是:
Limit all lines to a maximum of 79 characters.
我坐在宽屏显示器上并在屏幕上编码。我不是在终端编码,也不打算在终端编码。因此我对字符行限制没有任何问题。
有多少人真正遵循此限制?如果你没有在80字符限制终端编码,你还会遵循它吗?我不遵守它是不是很糟糕?
我讨厌这种限制是如何与Python的“风格指南”区分开来的。<
答案 0 :(得分:9)
你是唯一一个会阅读代码的人吗?
无论您使用何种语言进行编程,建议您尽量减少代码行长度。 长线通常有两种类型的原因:
深层嵌套代码:这种类型的代码很难遵循,特别是如果你有两个以上的嵌套级别。在阅读代码时,有一种倾向于错过其他条款,或者忘记了在阅读更长的函数时还有哪些内容。尝试打破几个函数中的代码以提高可读性。
复杂表达式:就像从对象中的对象访问对象中的值时...或者当您需要对来自10个不同位置的多个值执行单个操作并合并所有函数调用时和运营商在一条线上。如果使用临时变量将逻辑拆分为更易于掌握的较小段,则可以显着提高可读性。您还应该查看this。
话虽如此,PEP只是一个指导原则。当你觉得自己有理由这样做时,请随意打破它。如果你在大多数时候打破它,你需要重新考虑编写代码的方式。
答案 1 :(得分:7)
PEP 8:
但最重要的是:知道什么时候成为 不一致 - 有时是风格 指南只是不适用。什么时候进去 怀疑,用你最好的判断。
答案 2 :(得分:5)
我发现很难阅读超过80个字符的文字。移回左边缘时,我的眼睛往往会失去一排。所以从某种意义上说,由于必须在终端(或cmd窗口或xterm)上查看代码,因此它不是限制,但它是可读性要求。 我发现自己有时会破坏一两个角色,但总的来说我并不介意。此外,我几乎不必使用\ continuation字符,因为我利用了列表中的隐式延续。
答案 3 :(得分:3)
我设置我的编辑器向我显示80个字符的限制线,我用它作为警告,而不是停止标志。如果我能够在达到极限之前将线条整齐地延伸到下一条线,我就这样做了。但是,如果延续一段时间使其难以阅读或令人困惑,那么我有一个很长的路要走。我不会为了指导而更难以阅读代码。
答案 4 :(得分:1)
如果它是你的代码库,你可以做任何你想做的事。如果是其他人,那么你必须遵守他们的规则。例如谷歌有两个字符缩进,但PEP 8说使用4个空格。我相信他们是Guido关于编程的一句话,白天有2个空格缩进,晚上有4个空格。
即使使用宽屏显示器,我也喜欢字符限制,因为我可以并排放置代码帧。
代码风格实际上与个人偏好有关。重要的是一致性。所以写下你的 python代码无论如何都会让你开心。
答案 5 :(得分:1)
只要您不必在宽屏幕上水平滚动(因为我已经看过)。
答案 6 :(得分:1)
与所有风格指南一样,只有指南。无论你是否遵循它,都取决于你。主要目标是一致性。
那就是说,我建议采用约80个字符的限制,原因如下。
答案 7 :(得分:1)
没办法!
✔我的论点:
✔Linus Torvalds'参数:
grep
或'在文件中找到'命令将失败,因为将跳过某些结果。 ✔判决结果:
It's like try-
ing to read
a news arti-
cle written
like this.
答案 8 :(得分:0)
PEP8适用于人类,但即使您不遵守,您的程序也会运行。
如果您不共享您的代码并且不打算这样做,请随心所欲。
如果您计划有一天分享某些代码,那么您应该遵循PEP8。我的意思是,如果几行是85个字符,可能没人会关心。但如果代码一直超过200个字符,那么代码将难以阅读。如果您曾阅读报纸,则在使用列格式化文本时会涉及相同的问题。
对行长度问题的解决方案可能既不是连续字符的任意换行符,也不是通过在括号内包含一些表达式来使用隐式行继续。它可能是引入中间变量和函数,以便在逻辑上以小于79个字符为单位打破代码。
顺便说一下,你可能想要坚持一个更难的限制。我更喜欢72个字符,因为我可以在80个字符的文本邮件中允许一个或两个额外的引用级别。如果不这样做,那么识别将首先打破。