除了个人偏好,是否有最佳的标签大小(2个空格?3个空格?8个空格?)以获得代码可读性?在我参与的不同项目中,人们似乎有着截然不同的标准.我似乎无法阅读2个空格缩进,但谷歌等公司将其作为标准使用.
任何人都可以指出文章,研究或有关选项卡最佳尺寸的合理论证吗?
如果我们想要具体,我主要在python中工作.这个问题的目标是为我工作的团队选择一个标准.
如果您是Pythonista,则有四个空格,没有硬标签.
我喜欢8个空格(我知道,对吗?).它使块的开始/结束非常明显.
至于你的问题,需要进行正式的可用性研究.我们来看看极限:
0个空格
function test(){ var x = 1; for (i=0; i<=5; i++){ doSomething(); } }
没有缩进显然是坏的.你不知道什么开始或结束.
19个空间
function test(){ var x = 1; for (i=0; i<=5; i++){ doSomething(); } }
压痕的负载显然也很糟糕,因为您无法在视觉上将代码链接到其父函数或循环(或者您拥有的东西),因为您的周边视觉不会延伸到那么远.你的眼睛必须来回滑动太远以方便阅读.
8个空格
function test(){ var x = 1; for (i=0; i<=5; i++){ doSomething(); } }
我想我决定使用8个空格,因为'function'这个词的长度是8个字符.但它对可读性似乎非常有用.所有代码都在我的周边视觉中,如果我快速扫描,我就无法错过新代码块的开始.
讨论通常会引起误解,因为(如jwz所描述的)它通常涉及三个不同的问题:
当我Tab在文本编辑器中按键时会发生什么?
当我要求编辑器缩进一行或多行时会发生什么?
查看包含U + 0009水平制表符的文件时会发生什么?
我的答案:
按下该Tab键将使当前行(或所选行)缩进一级。
作为第二种选择,我也可以容忍像Emacs这样的编辑器,该编辑器将此键用于上下文相关的fix-my-indentation命令。
如果共识足够牢固,缩进一条或多条线应遵循现行的惯例;否则,我非常喜欢每个级别的4个空格缩进。
U + 0009字符应将后续字符移至下一个制表位。制表位从第1列开始,相隔8列,没有例外。
2 space 4 busy coder 3 space for heavy if statement using script kiddies 4 space for those who make real money pressing space 4 times 8 space for the man in ties and suit who doesn't need to code