β

Stack Overflow年度开发者调查显示使用空格键的程序员赚得比使用Tab键的程序员多

程序师 24 阅读

知名社区网站Stack Overflow近日就软件开发员之间由来已久的信仰之争发表了看法;它发现,使用空格键来缩进代码的开发员比使用跳格键的开发员赚得多。

Stack Overflow的数据科学家大卫·罗宾逊(David Robinson)处理了来自 《2017年开发员调查报告》 (已于3月份发布)的数据后在周四表示:“使用空格键的开发员其中位数年薪是59140美元,而使用跳格键的开发员其中位数年薪只有43750美元。”

罗宾逊的分析模型表明,使用空格键与薪水高出8.6%有关,这从期望薪水方面来看相当于资历多2.4年。

Stack Overflow的《2017年开发员调查报告》包括来自64000多名开发员的数据,其中12426名开发员提供了跳格键、空格键和薪水等方面的数据。这家公司如今已在网上发布了调查结果( https://stackoverflow.blog/2017/06/15/download-stack-overflows-2017-developer-survey-data/ ),供人下载。

罗宾逊已为力求复制其结果的那些人发布了他用来开展这项分析工作的规范,并提到了统计学方面经常要注意的一个事项:报告只有关联性,没有因果性。

这未必会让持续了数十年之久的争论消停下来,去年HBO电视台的《硅谷》美剧有一季对这个话题大加讽刺。不过可以预计这会进一步助长青睐空格键的那些开发员的气势,这个群体已经为去年谷歌的一名研究人员得出的调查结果而沾沾自喜。

去年8月,谷歌的开发员倡导者菲利佩·霍法(Felipe Hoffa)发布了来自400000个GitHub代码库的数据;这些数据发现,空格键在编程代码中的使用比跳格键广泛得多,C和Go(要求必须使用跳格键)除外。

Linux内核的编程风格也青睐跳格键。

关于使用跳格键还是空格键的争论牵涉诸多方面的问题:一致性、可读性、生产力和存储空间。

跳格键代表许多不同的行,这取决于所使用的那种计算环境。空格键始终代表单单一行。所以,用跳格键缩进的代码在不同的系统上可能以不同的方式显示。

与此同时,跳格键所需的击键较少,占用的磁盘空间也较少,至少代码没有被压缩时是这样。

除了只认为一种方法有效的狂热者外,大家达成的共识似乎是,开发员应该使用适合他们(及其团队)的方法,并坚持使用这种方法。没有所谓正确的答案――不过,显然有一种方法的报酬更高。

下面看一下统计数据:

图中显示,使用空格的程序员的平均工资为59,140美元,而用TAB的程序员平均工资为43,750美元。

国家维度

上面的结果中可能由于国家/地区的不同而稍有偏差,不同的国家程序员的待遇当然差别很大。为了消除不同国家造成的偏差,我们从国家的维度看一看:

可以看到,即便按国家来分,仍然是空格党薪水高于tab党。只不过在欧洲薪水差异较小,差异最大的国家是印度。

语言/编辑器维度

另外一个可能的影响因素是语言和编辑器。不同类型语言的开发人员可能使用不同的缩进。比如,DevOps似乎倾向于使用空格,而移动开发者更倾向于使用tab,这是因为他们使用不同的编辑器和语言。

即便从语言维度来看,仍然能得出相同的结论。

其它影响薪水的因素

除了缩进习惯之外,作者对调查结果建模并从中找出了其他几项可能影响薪水的因素:

  • tab与空格;
  • 国家;
  • 工作经验/年限;
  • 开发者类型及语言;
  • 正规教育水平(如本科,硕士,博士);
  • 是否对开源世界有贡献;
  • 是否以编程为爱好;
  • 公司规模;

该模型估计,使用空格而不是TAB,薪水将升高8.6%(置信区间(6%,10.4%),p值<10 ^ -10)。换句话说,使用空格代替TAB缩进,等价于2.4年的工作经验。

啥也不说了,为了涨工资,小编决定以后文章里多加空格@_@

作者:程序师
用程序师的眼光看世界

发表评论