除了口感、习惯和个人偏好之外,在编程时使用2空格缩进和4空格缩进是否有任何优势?
例如,在这个Google样式指南中,建议CSS使用2空格缩进。
在不同系统之间传输数据时,使用其中一种缩进方式是否具有技术上的优势?
是否有广泛接受的惯例?(可能因语言而异)
除了口感、习惯和个人偏好之外,在编程时使用2空格缩进和4空格缩进是否有任何优势?
例如,在这个Google样式指南中,建议CSS使用2空格缩进。
在不同系统之间传输数据时,使用其中一种缩进方式是否具有技术上的优势?
是否有广泛接受的惯例?(可能因语言而异)
来自:Linux内核编码风格
制表符宽度为8个字符,因此缩进也应为8个字符。有些异端邪说试图将缩进深度设置为4个(甚至2个!)字符,这就像试图将圆周率的值定义为3一样。
原因:缩进背后的整个想法是清晰地定义控制块的起始和结束位置。特别是当您连续20小时盯着屏幕时,如果您有大的缩进,您会发现更容易看出缩进是如何工作的。
现在,有些人会声称,8个字符的缩进会使代码向右移动太远,在80个字符的终端屏幕上很难阅读。对此的答案是,如果需要超过3级的缩进,程序已经崩了,应该修复它。 简而言之,8个字符的缩进使阅读更容易,并具有警告您嵌套函数太深的附加好处。请注意这个警告。
就技术方面而言,两种缩进方式并没有明显的“技术”优劣之分。实际上,我唯一能想到的“技术”问题是对源文件字节数的影响。
如果您使用空格字符(ASCII SP)来表示缩进,则2个空格比4个空格少了2个字符。
如果允许使用TAB字符,则(在Windows上)TAB会缩进最多4个空格,因此TAB字符会减少一些字符。但另一方面,在许多其他操作系统上,传统上使用TAB进行缩进最多8个空格,因此如果您希望您的源代码在所有平台上看起来很好,就不应该使用TAB进行缩进。
此外,通常惯例是将CSS、JavaScript和Web相关语言“精简化”,以使网站“更快”。除此之外,还会去掉缩进,从而使得这种微小的技术差异变得无关紧要。
(对于CSS的可读版本,节省传输时间/存储空间太微不足道,现在的系统都针对大众市场进行优化,存储和移动千兆字节大小的文件(电影)已经司空见惯,源代码相形见绌。)
至于“实用”优势,如果您不希望在深度缩进上浪费过多屏幕空间,则使用2个字符缩进可能更易于查看和编辑文件。从这个角度来看,2个字符缩进比4个或8个字符缩进要好。然而,这已经涉及到“个人口味”的问题......除非:
有广泛接受的惯例吗?
一般来说没有。
在某些语言中,也许有,但我想不出任何一个。即使在Java中,缩进的最常见约定是4个空格,但其他约定也可以接受。
我在书中使用两个空格,否则横向空间很快就会用完。在IDE中我使用四个空格。
在以前的时代,当然是许多年前了,它曾经是一个物理制表符,即八个空格,但是代码嵌套太多,无法维持那么多级别已经几十年了。
end
块,但我认为在任何其他语言中都可以使用。无论如何,尽管每个被关闭的问题都有一些关于SO关闭政策和社区的嘲讽评论,但我相信如果这个网站变成了Reddit或Quora那样,人们只是互相陈述意见,那么这个网站将会变得不太有用。人们喜欢抨击SO是“敌对”的,但请考虑到主题限制是使该网站变得优秀的一部分。 - ggorlen