当前位置:  开发笔记 > 开发工具 > 正文

研究最佳代码宽度?

如何解决《研究最佳代码宽度?》经验,为你挑选了5个好方法。

如果在所选的IDE中启用"查看右边距",则可能默认为80个字符.我倾向于将它改为120,除了它是几年前我公司的标准,没有其他公司告诉我做不同的事情.

我的问题是,是否有任何研究实际上显示80个字符是代码可读性的最佳最大宽度,或者这个值只是"它一直是这样的方式"而没有人真正知道为什么会这样?并且,一行代码的宽度是否应该是编码标准的一部分?



1> 小智..:

实际上,80列的东西早于DOS.它来自卡片冲头,它是80柱装置.

为了回答OP的问题,一项"研究"已经持续了大约600年 - 印刷书籍.这些已经发展了几个世纪,最重要的是可读性,我们现在的位置,文本的平均线长约为60个字符.因此,为了便于阅读,请选择更窄的边距.


我真的不相信你可以比较阅读自然语言和阅读编程语言的可用性.
@Jim - 我的自然语言中不包含30个字符的单词(不管我用的是什么),它的解析完全不同于编程语言.您通常可以将一行代码与其余代码分开,无论是长条件还是长方法和类的组合.将其与缩进相结合,两种语言之间的比较变得荒谬.毫无疑问,任何科学研究可读性和线长的人都会反对你对这些差异的洗涤.
@Frug - 实际上,你可能可以.65字符宽度的原因不是因为无法读取较大的线条,而是当眼睛移动到下一条线时它的弧线太紧.你可以通过增加行高来解决这个问题,但是这会使用块间距来传达意义变得更加困难,因此在IDE中可能需要避免这种情况.
书籍通常比显示器更靠近眼睛放置,这意味着如果读者能够在不必抬起颈部的情况下阅读书籍,则每行的字符数更少.屏幕通常不放置在书本的距离处,这意味着可以使用每行更多的字符,同时保持在最大眼睛角度的范围内.此外,代码读取的次数不尽如人意,因为这个宽度不那么重要.我(YMMV)可以在我的笔记本电脑屏幕上轻松跟踪包含120个字符**代码**的行,但这对于我15英寸笔记本电脑上的2个emacs缓冲区来说太宽了,唉.
@Frug - 我真的没有看到你的异议如何与我提出的任何主张有关,但我可以看到缩进打破了我提议的模型.不过,别叫我'吉姆'.
让我们在这个房间里收集我们的胆子并面对大象:@Obscaenvs比其他人在这里结合起来更有意义.正确地解决了这个问题的核心问题.

2> starblue..:

怜悯那些必须在以后维护你的软件并坚持80个字符的程序员.

偏好80的理由:

可在笔记本电脑上使用更大的字体进行阅读

留出空间放置两个版本并排进行比较

在IDE中为导航视图留出空间

打印没有任意破坏线(也适用于电子邮件,网页,......)

限制一行的复杂性

限制缩进,这反过来又限制了方法/功能的复杂性

是的,它应该是编码标准的一部分.


"限制一行中的复杂性"我不确定为什么在多行中传播复杂性更好.它只是推动你的心理堆栈.
这些是将线宽保持在80个字符以下的重要原因.我真的很惊讶(失望),你的答案显然是正确的,没有得到更多的积分.在这个列表中,我想补充一句:(1)水平滚动并不好玩.(2)您可以通过查看多个列中的代码来大大增加您正在处理的代码的密度.当你有大量的线路向右延伸时,大多数其他线路没有,大量的房地产就会浪费掉.
这是一个非常古老的话题.但是你现在还是同意大量开发人员使用27英寸显示器:-).我的意思是,如果视线是一个问题,更大的屏幕可以帮助.8年前,我们仍在使用17或20英寸显示器,有些甚至是4:3分辨率.
好的,但是当代码块中没有缩进时会发生什么?发生在我身上的80个字符根本不好玩。

3> Jay Bazuzi..:

我没有学习,但我会讲述我的经历.

我发现在处理文本时水平滚动很乏味.我查看将使用代码的环境,并根据该上下文设置宽度标准.

例如,当我在XWindows上使用Emacs时,它总是可以并排放置 2个Emacs窗口.这限制为80个字符,这是我的最大行长度.

有一次,我在1920x1200的屏幕上使用Visual Studio.我会保持最大化,所有工具窗口都停靠在一侧.两个编辑器窗口左侧有足够的空间,大约100个字符.

我还发现最长的行来自具有长参数列表的方法调用.这有时是代码气味:也许这个方法应该重构.

如果您和您的共同编程人员拥有高分辨率的屏幕和清晰的视力,请务必使用小字体和长行.相反,您可能需要短线.



4> 小智..:

除非公司另有说明,否则我通常使用120-150.但是它还取决于代码的种类:

我(几乎)从不在一行上使用多个语句

我只使用长行(> 12),只有看起来相似的行可以对齐而不会被破坏.

我总是使用足够的空格/括号等

我更喜欢较长名称之上的较长变量名称

直到几年前,我限制在100只,但现在通常使用宽屏,甚至可以在笔记本电脑上看到高分辨率显示器120(我几乎没用).

将屏幕与书籍进行比较并不是很好,因为书籍具有更多的垂直空间,而屏幕具有更多的水平空间.我总是尽量保持最大功能.一个可见的屏幕长.


如果多个窗口并排打开,每行120-150个字符如何工作?你是否保持许多代码编辑器窗口并排打开? - 在我的30英寸显示器上,我可以并排放置3个窗口,如果我将线条限制为97个字符/线.

5> Christopher ..:

也许80个字符也是避免这些糟糕的吸气链的好点:

object.getFoo().getBar().getFooBar().get ...

如果你将它限制为80个字符,也许有人会将这些变量本地化并进行空检查等,但也许大多数程序员会让它们换行到下一行.我不知道

除此之外,如星蓝提到的那样,80个字符很棒.这应该明确地进入编码标准.


仅供参考,像这样的过度方法链被称为[火车残骸反模式](http://c2.com/cgi/wiki?TrainWreck).
推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有