文档章节

用空格缩进的程序员赚钱更多吗?

乱蓬头
 乱蓬头
发布于 2017/06/26 15:05
字数 934
阅读 4
收藏 0

最近,Stack Overflow 发布了一篇 2017 开发者调查报告,分别从技能、工具、学习趋势等方面进行了数据统计,此次有超过 64,000 名开发者参与调查。分析这些数据,我们得到一个很有趣的结论:使用空格缩进的开发者比使用 TAB 缩进的开发者工资更高,是不是觉得有点扯?以下是统计结果截图:
90ec997d3121478cb52aab162ac9ceeb_th

你用Tab还是空格来处理代码缩进

在处理代码缩进时,使用Tab和空格都是可以的,在不同的IDE环境下,Tab对应的空格数也是不一样的,有的是2个,有的是4个,有的甚至8个。
你用Tab还是空格来处理代码缩进,我想一千个程序猿或许会有一千个答案,这个问题通常会引起程序员间的”圣战“,它已经无数次引起争论了。

用空格的程序员比用Tab的程序员挣钱多

在上面的调查中,有28657名职业程序员(他们不是学生也不是实习生)参与了这个”用Tab还是用空格的调查“。这之中,40.7%的程序员使用Tab,41.8%的程序员使用空格,17.5%的程序员两者都用。
在上面的统计截图中,使用空格缩进的程序员的薪资中位数是59,140美金,而使用Tab缩进的程序员的薪资中位数是43,750美元。当我第一次看到这个结论的时候,我怀疑是不是某一个因素影响了结果,比如程序员所在国家或者使用的编程语言。所以我们选取了样本最多的几个国家,并进行了相关的统计,结果惊奇的发现:
14b094X1GA0_3c35

观察上图我们发现,在欧洲这个现象相对比较弱,而在印度这个现象却相当明显。不过可以看到,无论在哪个国家,使用空格缩进的程序员薪资都比用Tab缩进的程序员高。

另一方面,我们知道不同语言的程序员会有不同的习惯:比如DevOps会倾向于用空格,而移动开发者更喜欢用Tab。这个差异主要因为他们使用的语言不同。在这次调查中,对于使用的语言的也做了相关的调查,结果如下:
14b094X1cI0_4HO

从统计数据来看,无论是在同一语言内部,还是同种开发者内部,使用空格的程序员都比使用Tab的程序员薪资更高。

空格 or Tab对薪资的影响

如果我们把影响薪资的所有因素都放在一起,那么“空格 or Tab”的选择在这里占有多大的权重呢? 为了解答这个问题,实验主要对以下选项做了统计
对“空格 or Tab”的选择
国家
编程工作年限
开发者类型和使用的语言
学位
是否为开源项目做过贡献
是否热爱编程
公司规模

通过这个模型发现,使用空格缩进会使得工资相较于使用Tab缩进高8.6%,相当于增加了2.4年的工作经验。最后这个统计,确实难以置信。

使用空格缩进的开发者比使用 TAB 缩进的开发者工资更高

1,你认为这个统计合理吗,说说你的看法?
2,平时开发中,你用Tab还是空格来处理代码缩进?
3,说说你认为影响你收入的方面有哪些?
4,不限于上面的问题

本文转载自:http://click.aliyun.com/m/24053/

共有 人打赏支持
乱蓬头
粉丝 0
博文 382
码字总数 2595
作品 0
私信 提问
python问题:IndentationError:expected an indented blo

Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉...

青春无极限
2014/10/16
0
0
PEP 8-Python编码规范整理

学习.png 我是用Python的IDE:pycharm来编写Python代码的,用IDE编写代码有一个好处就是语法高亮,智能提示。Python的代码样式规范称之为PEP 8规范,每次编写代码如果有出现不符合PEP 8规范的...

爱吃西瓜的番茄酱
2017/11/10
0
0
使用空格缩进的开发者比使用制表符的赚更多钱?

您使用制表符还是空格进行代码缩进? 这是软件开发者之间的一场“圣战”,也是许多辩论和笑话的主题。有些人会认为无论使用哪种方式都不是特别重要,但今天 Stack Overflow 发布的一份数据可...

局长
2017/06/16
3.6K
66
Java编程习惯的养成

版权声明:本文为北京尚学堂原创文章,未经允许不得转载。 养成良好的Java编程习惯 1. 应该在每个程序的开始都加上注释,解释该程序的目的、作者以及程序最后一次被修改的日期和时间。 2. 使...

SXTkaifa
2016/11/09
11
0
程序员的一些强迫症,你中招了吗?

写代码对程序员的影响还是很大的,写久了的程序员会自觉不自觉地养成一些强迫行的行为,那程序员都有哪些强迫症行为?请看下面。 1、习惯按Ctrl+S⋯⋯有时候看网页看着看着就Ctrl+S一下,之后...

达尔文
2017/07/26
3.5K
51

没有更多内容

加载失败,请刷新页面

加载更多

使用CURL检测Clinet侧发起的HTTP请求各阶段时间

第一、HTTP请求的过程介绍 一个HTTP请求,涉及多个阶段 1、DNS解析域名 2、请求从Clinet路由至Server,Clinet与Server建立TCP连接 3、如果使用了HTTPS,还涉及SSL连接的建立 4、server开始准...

李玉长
7分钟前
0
0
Flume+Kafka双剑合璧玩转大数据平台日志采集

概述 大数据平台每天会产生大量的日志,处理这些日志需要特定的日志系统。 一般而言,这些系统需要具有以下特征: 构建应用系统和分析系统的桥梁,并将它们之间的关联解耦; 支持近实时的在线...

java菜分享
13分钟前
0
0
Jenkins 分布式-管理节点

什么是Jenkins的分布式构建: Jenkins的分布式构建,在Jenkins的配置中叫做节点;能够让同一套代码或项目在不同的环境分发 节点配置 系统设置 - 节点管理 - 新建节点...

以谁为师
20分钟前
0
0
图片无限轮播

<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, max......

shawnDream
22分钟前
1
0
js 在==时,则会有一些让人难以理解的陷阱

在==时,则会有一些让人难以理解的陷阱。 (function () { var undefined; undefined == null; // true 1 == true; //true 2 == true; // false 0 == false; // true 0 == ''; // true NaN ==......

之渊
25分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部