为什么PEP-8指定的最大行长为79个字符?

时间:2020-03-06 14:19:32  来源:igfitidea点击:

为什么在这个千年中,Python PEP-8应该指定最大行长度为79个字符?

在阳光下几乎每个代码编辑器都可以处理更长的行。包装应该是内容消费者的选择,而不是内容创建者的责任。

在这个年龄段,是否有(合理的)充分理由坚持使用79个字符?

解决方案

使代码对人类可读,而不仅仅是机器可读。许多设备仍然一次只能显示80个字符。此外,由于能够并排设置多个窗口,因此对于具有较大屏幕的人来说,它更容易执行多项任务。

可读性也是强制行缩进的原因之一。

由于空白在Python中具有语义含义,因此某些自动换行方法可能会产生错误或者模棱两可的结果,因此需要有一定的限制以避免这些情况。自从我们使用电传打字机以来,标准的行长为80个字符,因此79个字符似乎是一个非常安全的选择。

我同意贾斯汀。详细地说,人类很难阅读过长的代码行,并且某些人可能具有只能容纳每行80个字符的控制台宽度。

推荐使用样式,以确保尽可能多的人在尽可能多的平台上尽可能舒适地阅读我们编写的代码。

我是一个程序员,每天必须处理大量代码。开源以及内部开发的东西。

作为一名程序员,我发现一次打开多个源文件很有用,并且经常在(宽屏)监视器上组织桌面,以便两个源文件并排。我可能两者都在编程,或者只是阅读其中一项,而另一种则在编程。

当这些源文件之一的宽度大于120个字符时,我会感到不满意和沮丧,因为这意味着我无法舒适地将一行代码放在屏幕上。它将格式设置换行。

我之所以说" 120",是因为这会令我不满意代码的扩展范围。在输入了这么多字符之后,我们应该为了便于阅读而将行分开,更不用说编码标准了。

我在编写代码时会考虑80列。只是这样,当我确实在该边界上泄漏时,这并不是一件坏事。

默认尺寸下的等宽字体打印(在A4纸上)为80列66行。

我相信那些研究版式的人会告诉我们,每行66个字符应该是长度上最易读的宽度。即使这样,如果我们需要通过ssh会话远程调试机器,大多数终端默认为80个字符,而79个恰好适合,在这种情况下尝试使用任何更宽的设备都是一个真正的难题。使用vim +屏幕作为日常环境的开发人员数量也会令我们感到惊讶。

79个字符(实际上是72个字符)是大多数基于文本的电子邮件阅读器换行的地方。因此,剪切并粘贴到电子邮件中的代码更具可读性。

因为如果将其推到第80列之外,则意味着我们正在编写的代码行很长且很复杂,行太多(因此我们应该重构),或者缩进太多(因此我们应该重构)。

这就是为什么我喜欢80个字符的原因:在工作中,我使用Vim,并在运行于1680x1040的监视器上一次处理两个文件(我不记得了)。如果行数不再长,即使使用自动换行,我也很难读取文件。不用说,我讨厌处理别人的代码,因为他们喜欢排长队。

PEP-8的大部分价值在于阻止人们争论无关紧要的格式化规则,并继续编写良好的,一致的格式化代码。当然,没有人真的认为79是最佳选择,但是将其更改为99或者119或者我们首选的行长都没有明显的好处。我认为选择是这样的:遵循规则并寻找值得争取的理由,或者提供一些数据来证明可读性和生产率如何随行长而变化。后者将非常有趣,并且我有很大的机会改变人们的想法。