除了品味,习惯和个人偏好之外,编码时使用2空间还是4空间缩进是否有任何优势?
例如,在此Google style guide中,建议对CSS使用2空格缩进。
使用其中一个是否有任何技术优势,例如在不同系统之间传输数据时?
是否有广泛接受的惯例? (可能因语言而异)
答案 0 :(得分:2)
这种或那种方式没有明显的“技术”优势。实际上,我能想到的唯一“技术”问题是对源文件中字节数的影响。
如果使用空格字符(ASCII SP)表示缩进,则2个空格是少于4个空格的2个字符。
如果允许使用TAB字符,则(在Windows上)TAB最多缩进4个空格,因此TAB字符会导致较少的字符。但另一方面,TAB通常会在许多其他操作系统上缩进多达8个空格,因此如果您希望源代码在所有平台上都看起来不错,则不应使用TAB进行缩进。
此外,通常的做法是“缩小”CSS,Javascript和网络相关语言,以使网站“更快”。除此之外,这将剥离缩进,使这个小的技术差异没有实际意义。
(对于CSS的人类可读版本,传输时间/存储空间的节省太费无关紧了。今天的系统针对大众市场进行了优化,其中存储和移动千兆字节大小的文件(电影)是共同点。源代码变得无足轻重。)
至于“实用”的优点,我想如果你不浪费太多的屏幕空间和深度缩进,查看和编辑文件可能会更容易。从这个角度来看,2个字符缩进优于4或8个字符缩进。
然而,这与“个人品味”问题接壤。 (除非你用它作为向老板询问桌面上另一个超宽显示器的理由:-))
是否有广泛接受的惯例?
一般没有。
在某些语言中,也许,但我想不出任何语言。即使在Java中,最常见的缩进约定是4个空格,但其他的是可以接受的。
答案 1 :(得分:2)
发件人: Linux内核编码样式
标签是8个字符,因此缩进也是8个字符。有异教徒 试图使压痕4(甚至2!)字符变深的动作,这是类似的 试图将PI的值定义为3。
理由:缩进背后的整个想法是清楚地定义一个块的位置 控制开始和结束。特别是当你一直在看你的屏幕20 直接的时间,如果你有的话,你会发现缩进的工作原理要容易得多 大缩进。
现在,有些人会声称拥有8个字符的缩进会使代码移动 在右边太远,使得在80个字符的终端屏幕上难以阅读。该 答案是,如果你需要超过3级的缩进,你就搞砸了 无论如何,应该修复你的程序。 简而言之,8-char缩进使事情更容易阅读,并具有额外的好处 当您将功能嵌套得太深时,请提醒您。注意那个警告
答案 2 :(得分:1)
我在书中使用了两个空格,因为否则你会很快耗尽水平空间。我在IDE中使用了四个。
过去当时它曾经是一个物理标签,八个空格,但是几十年前代码太嵌套了。