“推荐”文件的长度和线宽[关闭]


9

我很好奇是否有人知道有信誉的来源给出的关于给定文件的最大代码行数的建议。例如,Google的Closure Linter建议每行不应超过80个字符。


您的示例与该问题不一致。您的问题询问每个文件的行数,您的示例是每行字符数。
詹森·S,

2
这是相同的概念-无论水平还是垂直,您都必须滚动的正方形区域。
Devin G Rhode

Answers:


11

文件应足够短,以使您可以找到任何函数或方法,而无需前后滚动多次以寻找该函数或方法,也不必记住搜索字符串。我使用的指标是我在文件中查找代码而不是读取代码所花费的时间。如果这变得明显,是时候重新分区文件或类了。

一个基本代码块的合适大小在宽度和高度上都足够短,这样您就可以在组代码检查期间投影出其内脏,并使其完全适合而字体又不会太小,以至于后面的家伙会议室看不懂。如果在移动设备或平板电脑上都只有电话来解释一些代码时,此大小也很有帮助。


这是最有用的指南,非常感谢!
德文·罗德

文件长度是否太短?我有一个包含35个文件的项目,平均长度约为200行。
2012年

1
@丹我会冒险回答“不”。如果在设置中打开文件太困难,则可能是时候改善设置了(即vim插件,更好的IDE,无论emacs做什么)
Mike Graf 2014年

@Dan:文件太短?如果您花费更多时间为几个LOC搜索正确的小文件,而不是在逻辑上和紧密相关(但不要太长)的文件中找到它们,则可能出现这种情况。
hotpaw2

9

没有这样的事情,如果有的话,那将高度依赖于您使用的语言(例如,在汇编程序与C#或Java中做同样的事情)。

对于高级语言,您可以查看 SO讨论。对于Java / C#,鲍勃·马丁(Bob Martin)建议最大为每个方法 10-20行。没有关于文件的讨论,因为它无关紧要,并且取决于类应该做什么。

关于每行80个字符的限制-这是打孔卡时代的倒退。话虽这么说,但当行长过长时,可读性会受到影响。


5
+1:最好将行数保持在80个字符以下;易于阅读,并为并排窗户提供了更多空间
Donal Fellows

6
就我个人而言,我认为当一行压缩成多行以容纳80个或更少时,可读性会受到影响。还有浪费时间来决定在哪里休息,或者为此争论。
ergosys

5

文件和行的长度是对复杂性的次要影响的度量,因此高度可变。您应该针对的是没有不必要复杂性的代码,没有一定的最大行数。

长文件倾向于指示方法,子例程或类过于复杂(做太多事情,未充分考虑因素等)

较长的线条倾向于表示表达式过于复杂。

它们是表明潜在代码问题的气味,而不是明确定义的目标指标。


3

行长应使您不必滚动屏幕即可看到整条线。这取决于显示器的尺寸和分辨率。

如果适合一个屏幕,则方法和功能最好。

文件不要太长。最好是简短的文件,易于理解的类和实现。
一旦我从事的项目有10 klines文件。就像读一本非常复杂的书。我是否需要告诉该实施造成了多少问题?


代码不需要大字体的小监视器设置,尤其是对于组代码检查而言。
2011年

“行的长度应使您不必滚动屏幕即可看到整条线。” -如果您的编辑器自动换行怎么办?
Dan Dascalescu

3

80个字符!

我记得当我做COBOL时曾经看过计费程序的源代码文件,大约80 。当然,我看不到这是很常见的做法,但是80个字符同样荒谬。

从类大小的角度来看,如果您尝试将此建议应用于具有约80个属性和20个左右方法的典型Customer类,则必须将该类分解为其他几个类,并使代码确实非常混乱。


1
绝对。80个字符意味着您可以在A4 / Letter肖像纸上以合理的字体大小打印出一部分代码以进行头脑风暴。这也意味着在合理的开发计算机监视器上,您可以并排查看源代码的三个副本,而无需水平滚动即可进行三向合并(有趣的是80x8x3为1920 * 8')。
Mark Booth,

2

我尝试使类和方法简短,但是不必担心行长。在如今的宽屏和长标识符的今天,我认为80个字符太少了。破坏语句需要花费一些工作,以使它们易于阅读,并且限制在80个字符以内,它经常发生。我认为每行120或130列比较合理。


我使用垂直翻转的22英寸显示器,这使我在每个屏幕上的像素都达到了1080个像素(垂直方向,一次可以看到104行代码!)。在这种情况下,将行宽保持为90个字符或更少是很有用的。
罗伊·廷克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.