我最近开始考虑遵循PEP 8将是一个好主意。我让编辑器显示80列的标记,现在正尝试换行以适应它。我的问题是。在PEP 8中它说:
限制每行最多79个字符。
是有意义的。
[…对于长文本块(文档字符串或注释),建议将长度限制为72个字符。
为什么是72年?为什么79不能用于文档字符串或注释?
我认为这是文本文档的后遗症:
来源在打字机时代结束时,大多数设计都是面向72的CPL是由每英寸12个字符的间距乘以6得来的英寸(参见IBM electric)。这将确保至少为1美国政府在当时的财政预算中,每一项都有1英寸的差距标准化的8 1/2×11"纸。
出于传统,许多纯文本文档仍然符合72 CPL。
我认为这就像文档字符串经常在代码之外的上下文中使用一样,因此遵循大多数纯文本文档使用的样式以尽可能保持一致是有意义的。例如,man
页面的文本通常被换行为72个字符。通过限制文档字符串为72个字符,help()
的输出反映了这一点。
这个关于程序员的问题也可能是相关的
文档字符串通常按其函数缩进,并以三引号开始和结束:
def foo(bar, baz):
"""Frobnicate the foobars into baz
Parameters are ham and spammed.
"""
还剩79 - 4 - 3 = 72个字符
行应该是79个字符的原因是它们可以适合80个字符宽的终端(显然它们仍然存在)。在docstring上使用72个字符的原因是,这意味着在两侧有相等的填充(毕竟docstring是缩进的),并且仍然适合80个字符的宽度。