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

时间:2008-09-18 00:36:25

标签: python pep8

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

太阳下的每个代码编辑器都可以处理更长的行。如何处理包装应该是内容使用者的选择,而不是内容创建者的责任。

在这个时代,是否有任何(合法的)理由坚持79个角色?

9 个答案:

答案 0 :(得分:103)

保持代码的人性化,而不仅仅是机器可读。很多设备一次只能显示80个字符。此外,通过设置多个窗口可以使大屏幕人员更容易进行多任务。

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

答案 1 :(得分:101)

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

答案 2 :(得分:39)

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

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

当其中一个源文件的宽度大于120个字符时,我发现它不满意并且令人沮丧,因为这意味着我无法轻松地在屏幕上放置一行代码。它将格式化为换行。

我说'120',因为这是我对代码更广泛而烦恼的程度。在那么多字符之后,为了便于阅读,你应该分开各行,更不用说编码标准了。

我编写了80列的代码。这只是为了当我在那个边界上泄漏时,这并不是一件坏事。

答案 3 :(得分:35)

我相信那些学习排版的人会告诉你每行66个字符应该是长度最可读的宽度。即便如此,如果你需要通过ssh会话远程调试一台机器,大多数终端默认为80个字符,79只适合,尝试使用更广泛的东西在这种情况下变得真正的痛苦。使用vim + screen作为日常环境的开发人员数量也会让您感到惊讶。

答案 4 :(得分:19)

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

答案 5 :(得分:7)

这就是为什么我喜欢80个字符的原因:在工作中我使用Vim并且在运行的监视器上一次处理两个文件,我认为,1680x1040(我永远不会记得)。如果行更长,我在阅读文件时遇到问题,即使使用自动换行也是如此。毋庸置疑,我讨厌处理其他人的代码,因为他们喜欢长队。

答案 6 :(得分:3)

由于空格在Python中具有语义含义,因此一些自动换行方法可能会产生错误或模糊的结果,因此需要有一些限制来避免这些情况。由于我们使用的是电话类型,所以标准的80行长度是标准的,所以79个字符似乎是一个非常安全的选择。

答案 7 :(得分:1)

我同意贾斯汀的观点。详细说来,人类更难以阅读过长的代码行,有些人可能拥有每行只能容纳80个字符的控制台宽度。

样式建议是为了确保您编写的代码尽可能多地在尽可能多的平台上尽可能舒适地阅读。

答案 8 :(得分:1)

因为如果你把它推到第80列之外就意味着你要么编写一个非常长且复杂的代码行,这些代码行太多了(因此你应该重构),或者你缩进太多了(所以你应该这样做重构)。