大家敲代码的时候习惯是用Tab还是空格呢?个人还是习惯用Tab,毕竟敲一下跟敲四下比。还是有质的飞跃的。
但是最近看到一个叫做David Robinson的家伙,根据Stack Overflow开发者调查的原始数据,使用线性回归模型进行分析。研究发现,在控制了国家、编程经验年限、开发人员类型和语言、教育水平、公司规模等等要素后,使用空格的人比使用Tab的人薪水高出8.6%。
正方:
4 个空格大家比较习惯,但似乎这几年很流行 2 个空格,比如 Google、Facebook、Twitter 等都用了,还有一些新语言,如 coffeescript、less/sass、dart 等等,似乎是个趋势。
npm 上 top 10 下载中有 7 个是 2 个空格的。
看到了一个说法:使用两个空格我可以一眼就知道是两个空格而不是一个制表符(大部分编辑器默认一个制表符占四个空格的位置)。所以两个空格更容易保持一致性。
慢慢习惯了两个空格,最主要的原因是能和其他语言统一。比如写 JSON、Python、YAML 时就不用切换习惯了
但是考虑到代码的通用性,还是俩为好. 谁知道阅读你的代码的老哥是用的标准终端大小呢
4空格的阅读体验会更好。
之前也是4个空格飞起,现在已经习惯2个空格,还是2个空格 内容饱满一点。
反方:
感觉所有的风格都是为了便于阅读,如果2个空格能便于阅读的话当然是2个好,但是以现有的代码来看,特别是js代码,多个块的嵌套是非常之多的(HTML页面更能说明这个问题),那2个空格的代码在识别块的时候就会比4个更不易识别。对这类语言,个人比较推荐4个空格。但是如果对于格式本身就非常清晰的语言来说,比如java,那4个空格与2个空格的差别也就那么太明显了。所以我也同时也认为,空格不是关键,关键是代码在整体上的风格,甚至与编码人员在解决实际问题时所采取的思路有关。
4个空格,坚决不接受2个!
受不了2个空格,一大坨。
用了一段时间的2个空格,然后再看到4个空格——哇好清爽。HTML倒还好,JS用2个空格感觉好挤。
一哥们写tab=2的代码,看着挤得慌,赶紧让他全调整了。屏幕越来越大,为啥不利用屏幕空间?我屏幕右边几乎都是空的(24")
中方:
两个空格的优劣:
优:可以节省行空间,一行可写的内容更多
劣:1. 视觉反馈没那么强烈,即缩进不明显;2. 代码复杂度警告能力减弱,多层嵌套的代码往往更难理解
不论是2个空格还是4个空格都可以,但最忌讳的是混用。
你觉得呢?