原文链接
最近,Stack Overflow 发布了一篇 2017 开发者调查报告,分别从技能、工具、学习趋势等方面进行了数据统计,此次有超过 64,000 名开发者参与调查。分析这些数据,我们得到一个很有趣的结论:使用空格缩进的开发者比使用 TAB 缩进的开发者工资更高,是不是觉得有点扯?以下是统计结果截图:
在处理代码缩进时,使用Tab和空格都是可以的,在不同的IDE环境下,Tab对应的空格数也是不一样的,有的是2个,有的是4个,有的甚至8个。
你用Tab还是空格来处理代码缩进,我想一千个程序猿或许会有一千个答案,这个问题通常会引起程序员间的”圣战“,它已经无数次引起争论了。
在上面的调查中,有28657名职业程序员(他们不是学生也不是实习生)参与了这个”用Tab还是用空格的调查“。这之中,40.7%的程序员使用Tab,41.8%的程序员使用空格,17.5%的程序员两者都用。
在上面的统计截图中,使用空格缩进的程序员的薪资中位数是59,140美金,而使用Tab缩进的程序员的薪资中位数是43,750美元。当我第一次看到这个结论的时候,我怀疑是不是某一个因素影响了结果,比如程序员所在国家或者使用的编程语言。所以我们选取了样本最多的几个国家,并进行了相关的统计,结果惊奇的发现:
观察上图我们发现,在欧洲这个现象相对比较弱,而在印度这个现象却相当明显。不过可以看到,无论在哪个国家,使用空格缩进的程序员薪资都比用Tab缩进的程序员高。
另一方面,我们知道不同语言的程序员会有不同的习惯:比如DevOps会倾向于用空格,而移动开发者更喜欢用Tab。这个差异主要因为他们使用的语言不同。在这次调查中,对于使用的语言的也做了相关的调查,结果如下:
从统计数据来看,无论是在同一语言内部,还是同种开发者内部,使用空格的程序员都比使用Tab的程序员薪资更高。
如果我们把影响薪资的所有因素都放在一起,那么“空格 or Tab”的选择在这里占有多大的权重呢? 为了解答这个问题,实验主要对以下选项做了统计
对“空格 or Tab”的选择
国家
编程工作年限
开发者类型和使用的语言
学位
是否为开源项目做过贡献
是否热爱编程
公司规模
通过这个模型发现,使用空格缩进会使得工资相较于使用Tab缩进高8.6%,相当于增加了2.4年的工作经验。最后这个统计,确实难以置信。
1,你认为这个统计合理吗,说说你的看法?
2,平时开发中,你用Tab还是空格来处理代码缩进?
3,说说你认为影响你收入的方面有哪些?
4,不限于上面的问题