为什么在Java中使用4个空格作为缩进单位?

new*_*bie 8 java coding-style

Java代码约定说:

应使用四个空格作为压痕的单位.

但它没有任何解释为什么空间是首选.如果我输入空格4次而不是仅按一次标签,我必须按3次以上按键.这意味着需要做更多工作,因为编码人员会在一天内编写大量代码.那么这个约定来自哪里,有没有合理的理由去做更多工作?

Arj*_*Rao 22

根据我发现的一些研究,6个空间模糊了代码的读取并使其更难阅读.类似于0空格的情况,

据说4个空间对于阅读清晰度和理解程序的逻辑层次一目了然是最佳的.

史蒂夫麦康奈尔关于布局和风格的代码完整第二版章节:

当程序具有两到四个空格的缩进方案时,受试者在理解测试中的得分比在程序没有缩进的情况下高出20%到30%.同样的研究发现重要的是既不强调也不重要.过分强调程序的逻辑结构.最简单的理解分数是在没有缩进的程序上实现的.使用六空缩进的程序实现了第二低的成绩.该研究得出结论,二至四个空间的压痕是最佳的.有趣的是,实验中的许多受试者认为六孔压痕比较小的压痕更容易使用,即使它们的分数较低.这可能是因为六个空间压痕看起来很讨人喜欢.但无论它看起来多么漂亮,六空间缩进的可读性都会降低.这是美学吸引力和可读性之间碰撞的一个例子.


Ade*_*ari 6

您可以将操作系统设置更改tab为4个空格.最好还是为你的IDE做这件事.您可能不喜欢在OS级别更改设置的想法.

  • 我同意:您不应该按空格键4次,而是使用Tab键一次 - 编辑器将标签转换为4个空格. (8认同)