居然还有人用 3 个空格来对齐代码 - 开源中国社区
居然还有人用 3 个空格来对齐代码
oschina 2016年01月04日

居然还有人用 3 个空格来对齐代码

oschina oschina 发布于2016年01月04日 收藏 42 评论 127

有免费的MySQL,为什么还要买? >>>  

对齐代码时,该用 Tab ,还是空格。这个话题,就像浏览器和操作系统之战,也是能让程序员争辩很久的。甚至还动粗,比如下面漫画。

Uku Pattak 最近分析了 GitHub 上多种语言的热门项目(star 数量高的),伯乐在线摘编了其分析结果。

C 语言

分析了 371 个热门项目,结果:

  • 32.08% 用 Tab

  • 35.31% 用 4 个空格

  • 26.15% 用 2 个

  • 4.31% 用 3 个

  • 2.16% 用 8 个

C++

分析了 248 个热门项目,结果:

  • 20.56% 用 Tab

  • 39.11% 用 4 个空格

  • 38.71% 用 2 个

  • 1.61% 用 3 个

CSS

分析了 357 个热门项目,结果:

  • 19.89% 用 Tab

  • 71.71% 用 2 个空格

  • 8.4% 用 4 个空格

Go

分析了 238 个项目,结果:

  • 98.32% 用 Tab

  • 0.84% 用 2 个空格

  • 0.84% 用 4 个

Groovy

分析了 110 个项目,结果:

  • 8.18% 用 Tab

  • 17.27% 用 2 个空格

  • 74.55% 用 4 个

Haskell

分析了 308 个项目,结果:

  • 1.62% 用 Tab

  • 61.69% 用 2 个空格

  • 36.69% 用 4 个

Java

分析了 293 个项目,结果:

  • 11.6% 用 Tab

  • 23.21% 用 2 个空格

  • 65.19% 用 4 个

JavaScript

分析了 317 个项目,结果:

  • 13.25% 用 Tab

  • 59.94% 用 2 个空格

  • 26.81% 用 4 个

PHP

分析了 408 个项目,结果:

  • 28.68% 用 Tab

  • 6.12% 用 2 个空格

  • 65.2% 用 4 个

Python

分析了 234 个项目,结果:

  • 2.99% 用 Tab

  • 5.13% 用 2 个空格

  • 91.88% 用 4 个

Ruby

分析了 489 个项目,结果:

  • 0% 用 Tab

  • 100% 用 2 个空格

  • 0% 用 4 个

Scala

分析了 220 个项目,结果:

  • 0% 用 Tab

  • 98.64% 用 2 个空格

  • 1.36% 用 4 个

Shell

分析了 288 个项目,结果:

  • 21.88% 用 Tab

  • 48.26% 用 2 个空格

  • 28.82% 用 4 个

  • 0.35% 用 3 个

  • 0.69% 用 8 个

Swift

分析了 88 个项目,结果:

  • 5.68% 用 Tab

  • 11.36% 用 2 个空格

  • 82.95% 用 4 个

国内的情况:

今天中午,我们在@程序员的那些事微博发了一个投票。截至目前为止,结果如下:

最后有 2 个小问题:

  • 1. 对齐代码时,你是用 Tab,还是空格?

  • 2. 那些用 3 个空格的,是肿么回事?大家来猜猜。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:居然还有人用 3 个空格来对齐代码
分享
评论(127)
最新评论
0

引用来自“虎爷”的评论

Tab,宽度又够,批量缩进也方便,而且我设置IDE禁止转换Tab到空格

引用来自“棒子面er”的评论

如果别人看你代码,Tab宽度和你设置的不一样,那就乱了或者很难看,还是空格好,任何编辑器任何人都显示一个样

引用来自“虎爷”的评论

算了,tab和空格,就像php和java一样,反正我是用tab。网上别人很多代码都是用空格,但是网上的统计用空格的不到30%。我也不知道怎么说好了。。。

引用来自“棒子面er”的评论

你说的有道理。不过我也是100%用TAB键,不过我是用4个空格代替\t

引用来自“虎爷”的评论

我是强迫症患者,如果在行前注释,用Tab就对不齐了,用空格就没问题。用版本控制工具的时候,用Tab也能对齐
我就日了,写反了,是:用空格就对不齐了,用Tab就没问题
0

引用来自“虎爷”的评论

Tab,宽度又够,批量缩进也方便,而且我设置IDE禁止转换Tab到空格

引用来自“棒子面er”的评论

如果别人看你代码,Tab宽度和你设置的不一样,那就乱了或者很难看,还是空格好,任何编辑器任何人都显示一个样

引用来自“虎爷”的评论

算了,tab和空格,就像php和java一样,反正我是用tab。网上别人很多代码都是用空格,但是网上的统计用空格的不到30%。我也不知道怎么说好了。。。

引用来自“棒子面er”的评论

你说的有道理。不过我也是100%用TAB键,不过我是用4个空格代替\t
我是强迫症患者,如果在行前注释,用Tab就对不齐了,用空格就没问题。用版本控制工具的时候,用Tab也能对齐
0

引用来自“虎爷”的评论

Tab,宽度又够,批量缩进也方便,而且我设置IDE禁止转换Tab到空格

引用来自“棒子面er”的评论

如果别人看你代码,Tab宽度和你设置的不一样,那就乱了或者很难看,还是空格好,任何编辑器任何人都显示一个样

引用来自“虎爷”的评论

算了,tab和空格,就像php和java一样,反正我是用tab。网上别人很多代码都是用空格,但是网上的统计用空格的不到30%。我也不知道怎么说好了。。。
你说的有道理。不过我也是100%用TAB键,不过我是用4个空格代替\t
0

引用来自“虎爷”的评论

Tab,宽度又够,批量缩进也方便,而且我设置IDE禁止转换Tab到空格

引用来自“棒子面er”的评论

如果别人看你代码,Tab宽度和你设置的不一样,那就乱了或者很难看,还是空格好,任何编辑器任何人都显示一个样
算了,tab和空格,就像php和java一样,反正我是用tab。网上别人很多代码都是用空格,但是网上的统计用空格的不到30%。我也不知道怎么说好了。。。
0

引用来自“袁弘龙”的评论

很多IDE都会将tab换成4个空格,所以虽然统计出来用4个空格的很多,但是其实其中很多的程序员在写的时候用的是tab。
对的
0
eclipse的tab设置四个空格
0
空格能保证在不同IDE下显示层次一致,而tab很难说
0
手动空格或Tab不麻烦吗?用IDE的代码模板格式化代码不更方便吗?文章的讨论有意义吗?不服莫变辩
0
Tab最后也是被转成空格啦,C#飘过
0
敲代码的时候连续按两下空格,总觉得别扭
0
哈哈,还是Ruby届整齐,全都是2个空格
0

引用来自“hzg625”的评论

谁能告诉我tab和4个空格的优劣

引用来自“gaubee”的评论

1字符和4字符
省内存
0
国内用tab的好多啊,我也是
0
然而我在使用tab的时候,在某些环境下执行会报错,并且代码美化器在有tab的时候解析不了代码,无法实现美化,所以都用的空格了
0
golang format强制tab。
写golang不用太纠结这个问题了,专注代码。
很好奇golang不用tab的怎么来的。
0

引用来自“hzg625”的评论

谁能告诉我tab和4个空格的优劣
1字符和4字符
0

引用来自“Claren”的评论

有点瞎扯淡,python只能用tab对齐,怎么还90%用空格
空格也可以的。
0
打死!
0
应该是和IDE有关的,三个空格的就不晓得了
0
C# Tab
顶部