如果在所选的IDE中启用"查看右边距",则可能默认为80个字符.我倾向于将它改为120,除了它是几年前我公司的标准,没有其他公司告诉我做不同的事情.
我的问题是,是否有任何研究实际上显示80个字符是代码可读性的最佳最大宽度,或者这个值只是"它一直是这样的方式"而没有人真正知道为什么会这样?并且,一行代码的宽度是否应该是编码标准的一部分?
实际上,80列的东西早于DOS.它来自卡片冲头,它是80柱装置.
为了回答OP的问题,一项"研究"已经持续了大约600年 - 印刷书籍.这些已经发展了几个世纪,最重要的是可读性,我们现在的位置,文本的平均线长约为60个字符.因此,为了便于阅读,请选择更窄的边距.
怜悯那些必须在以后维护你的软件并坚持80个字符的程序员.
偏好80的理由:
可在笔记本电脑上使用更大的字体进行阅读
留出空间放置两个版本并排进行比较
在IDE中为导航视图留出空间
打印没有任意破坏线(也适用于电子邮件,网页,......)
限制一行的复杂性
限制缩进,这反过来又限制了方法/功能的复杂性
是的,它应该是编码标准的一部分.
我没有学习,但我会讲述我的经历.
我发现在处理文本时水平滚动很乏味.我查看将使用代码的环境,并根据该上下文设置宽度标准.
例如,当我在XWindows上使用Emacs时,它总是可以并排放置 2个Emacs窗口.这限制为80个字符,这是我的最大行长度.
有一次,我在1920x1200的屏幕上使用Visual Studio.我会保持最大化,所有工具窗口都停靠在一侧.两个编辑器窗口左侧有足够的空间,大约100个字符.
我还发现最长的行来自具有长参数列表的方法调用.这有时是代码气味:也许这个方法应该重构.
如果您和您的共同编程人员拥有高分辨率的屏幕和清晰的视力,请务必使用小字体和长行.相反,您可能需要短线.
除非公司另有说明,否则我通常使用120-150.但是它还取决于代码的种类:
我(几乎)从不在一行上使用多个语句
我只使用长行(> 12),只有看起来相似的行可以对齐而不会被破坏.
我总是使用足够的空格/括号等
我更喜欢较长名称之上的较长变量名称
直到几年前,我限制在100只,但现在通常使用宽屏,甚至可以在笔记本电脑上看到高分辨率显示器120(我几乎没用).
将屏幕与书籍进行比较并不是很好,因为书籍具有更多的垂直空间,而屏幕具有更多的水平空间.我总是尽量保持最大功能.一个可见的屏幕长.
也许80个字符也是避免这些糟糕的吸气链的好点:
object.getFoo().getBar().getFooBar().get ...
如果你将它限制为80个字符,也许有人会将这些变量本地化并进行空检查等,但也许大多数程序员会让它们换行到下一行.我不知道
除此之外,如星蓝提到的那样,80个字符很棒.这应该明确地进入编码标准.