使用tab, 仍是空格, 小小编程习惯却有巨大的差异

专栏 | 九章算法
网址 | www.jiuzhang.comhtml

在 《Silicon Valley》 第三季中,Richard由于用Tab仍是空格的问题和原本情投意合的女孩吵架,质问女孩为何用空格键而不用tab,最后Richard甚至说出“我不会和一个用空格键而不是tab键的人同床共枕”,两人不欢而散。程序员

有的人以为,无论使用 tab 仍是空格,都没有什么区别。可是,事实上,这样一个小小的习惯,却可能有巨大的差异。(有的人经过对编译器的设置,使得tab键能够替代空格键,此处忽略,不讨论这种状况)面试

使用空格键的比使用tab键的工资更高算法

最近,David Robinson 作了一个有趣的研究。他根据 Stack Overflow 2017开发者调查的原始数据,进行了线性回归分析。研究发现,在控制了国家、接触编程的年数、开发人员类型和语言、教育水平、公司规模等要素后,使用空格键的程序员工资将会比使用tab键的程序员高出8.6%。编程

不过,David Robinson 也同时指出:使用tab键或空格键与薪资是有相关性而不是因果关系。David 坦诚,他没法肯定他控制了数据集中存在的全部混杂因素。微信

使用空格键更有利于编程工做编辑器

使用空格键更有利于团队工做

在不一样的编辑器里tab的长度可能不一致,因此在一个编辑器里用tab设置缩进后,在其它编辑器里看可能缩进就乱了。若是其余人用转换tab为空格的编辑器打开你写的文件,而后版本控制程序就会报冲突,很是很是麻烦。布局

而使用空格键,任何人用任何编辑器查看代码都是对齐的,包括网页上查看(好比在GitHub上看代码)。3d

使用空格键有利于代码压缩发布

若是代码须要压缩发布,使用空格的代码一般具备更好的压缩率。这里面的原理是信息量,使用 tab 缩进的代码中,仍然不可避免的含有空格(运算符之间的间隔,注释等等),但使用空格的代码中根本不含有 tab,这使得 tab 缩进代码虽然不压缩的时候更小,但熵更高,于是压缩率较差,压缩以后反而更大。版本控制

使用空格键能够更精确控制视觉呈现

好比,有些爱搞怪的程序员喜欢在代码中画字符画,就会喜欢空格键的精准操做。

使用空格键可能显示出你的不良coding习惯

Tab 是制表符而不是缩进符,正如在 html 页面中大量使用table进行布局是个很差的编程习惯同样,在编程中大量使用制表符布局一般也不是个好习惯。

经过设置,可以使 Tab 键代替 Space 键

Tab键也有它的好处。其中最突出的优势,莫过于按键次数少啦。

所以,不少编程老鸟他们会设置对编辑器中的 Tab 键是能够进行个性化设置,经过调整 Tab 键的字符宽度,使之等同于 Space 键的操做。

那么,你日常 Coding 的时候,是使用 Tab ,仍是空格,仍是使用 Tab 其实设置成空格呢?


推荐阅读



欢迎关注个人微信公众号:九章算法(ninechapter)。
精英程序员交流社区,按期发布面试题、面试技巧、求职信息等

九章算法,IT教育领域的深耕者
九章算法,IT教育领域的深耕者
相关文章
相关标签/搜索