对齐代码时,该用 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 个小问题: |