世纪大战:Tab VS Space

用 Tab 还是 Space?事关程序员的信仰之争。2015 年程序员 Uku Pattak 分析了 GitHub 上多种语言的热门项目(star 数量高)中使用 Tab 和空格的对比情况。2016 年,谷歌程序员 Felipe Hoffa 分析了 10 亿份代码。

  分析结果可先看下图:

  

  40万个repo, 10亿份代码文件, 14TB 代码

  规则:

  数据来源:已存储在 BigQuery 上的 GIthub 文档

  Star 很重要:只选择了2016年1月到5月之间加星量(star)在前 40 万个的项目

  排除小文件:代码文件至少得有 10 行代码,开始的字符是:空格或者制表符

  去除冗余:不管它们存在于多少个项目中,相同的程序文件只算一次

  一个文件一票:有些代码文件中混用了制表符和空格。如果该文件制表符用的多,那它就算制表符一票。反之亦然。

  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 个

  Java

  分析了 317 个项目,结果:

  • 13.25% 用 Tab

  • 59.94% 用 2 个空格

  • 26.81% 用 4 个

  PHP

  分析了 408 个项目,结果:

  • 28.68% 用 Tab

  • 6.12% 用 2 个空格

  • 65.2% 用 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 个

  Python

  分析了 234 个项目,结果:

  • 2.99% 用 Tab

  • 5.13% 用 2 个空格

  • 91.88% 用 4 个

      (难道我是异类,我其他语言都喜欢用空格,只有Python喜欢用tab)

  我们统计一下VerilogHDL,VHDL你用Tab还是用空格键?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值