【導讀】:對齊程式碼時,該用 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 個
國內的情況:
2015年12月28日,我們在@程式設計師的那些事微博發了一個投票。截至發稿時為止,結果如下:
最後有 2 個小問題:
- 1. 對齊程式碼時,你是用 Tab,還是空格?
- 2. 那些用 3 個空格的,是腫麼回事?大家來猜猜。