fex-team/styleguide

缩进使用 2 个空格还是 4 个空格

nwind opened this issue · 28 comments

4 个空格大家比较习惯,但似乎这几年很流行 2 个空格,比如 Google、Facebook、Twitter 等都用了,还有一些新语言,如 coffeescript、less/sass、dart 等等,似乎是个趋势

+1 跟着趋势走

用 IDE 时,在笔记本上会把 tab 配成两个空格,屏幕小的时候两个看起来更协调。

个人感觉所有的风格都是为了便于阅读,如果2个空格能便于阅读的话当然是2个好,但是以现有的代码来看,特别是js代码,多个块的嵌套是非常之多的(HTML页面更能说明这个问题),那2个空格的代码在识别块的时候就会比4个更不易识别。对这类语言,个人比较推荐4个空格。但是如果对于格式本身就非常清晰的语言来说,比如java,那4个空格与2个空格的差别也就那么太明显了。所以我也同时也认为,空格不是关键,关键是代码在整体上的风格,甚至与编码人员在解决实际问题时所采取的思路有关。

现在的问题是用的人太多,不习惯也得被逼着慢慢去适应了。。。

公司

  • Google
  • Twitter
  • Facebook
  • Github
  • Mozilla

第三方库

npm 上 top 10 下载中有 7 个是 2 个空格的

刚刚看到了一个说法:使用两个空格我可以一眼就知道是两个空格而不是一个制表符(大部分编辑器默认一个制表符占四个空格的位置)。所以两个空格更容易保持一致性。

看到了一个讨论:
http://www.quora.com/Python-programming-language-1/Why-does-Google-use-2-spaces-for-Python-indentation

列举了两个空格的优劣:

优:可以节省行空间,一行可写的内容更多
劣:1. 视觉反馈没那么强烈,即缩进不明显;2. 代码复杂度警告能力减弱,多层嵌套的代码往往更难理解

再等等

最近我们组一哥们写tab=2的代码,看着挤得慌,赶紧让他全调整了。

屏幕越来越大,为啥不利用屏幕空间?我屏幕右边几乎都是空的(24")


Yours sincerely
berg
http://cnberg.com
@cnberg

On Thu, May 15, 2014 at 12:59 PM, 哥特复兴 notifications@github.com wrote:

再等等


Reply to this email directly or view it on GitHubhttps://github.com//issues/20#issuecomment-43168747
.

慢慢习惯了两个空格,最主要的原因是能和其他语言统一
比如写 JSON、Python、YAML 时就不用切换习惯了

要不来个投票吧?我觉得只要统一就好了,新项目按新标准,老项目就别改了。

两个空格 +1

两个空格+1

用了一段时间的2个空格,然后再看到4个空格——哇好清爽
HTML倒还好,JS用2个空格感觉好挤。

一般屏幕足够大还是建议4个空格。

kvzn commented

受不了2个空格,一大坨

@techird 两空格一眼能看出来不是制表符:

正常的 IDE 不论2空格,还是4空格,都显示2个或者4个点,而制表符是个横杠,所以我认为该理由不成立

这个看编辑器吧。需要把开关打开。

不论是2个空格还是4个空格都可以,但最忌讳的是混用。

现在新项目基本上使用EditorConfig来格式化代码

以前写Pascal和C都是两个空格缩进。现在用Python只好用4空格。

4个空格,坚决不接受2个!

之前也是4个空格飞起,现在已经习惯2个空格,还是2个空格 内容饱满一点

一般屏幕足够大还是建议4个空格。

但是考虑到代码的通用性,还是俩为好. 谁知道阅读你的代码的老哥是用的标准终端大小呢:)

4空格的阅读体验会更好

4空格, 2个空格太挤了

为什么要习惯两个空格,谷歌拉的屎就是香的?
视觉效果最重要。

为什么要习惯两个空格,谷歌拉的屎就是香的?
视觉效果最重要。

那4个为什么视觉效果就最好, 怎么不6个空格? 跟随流行趋势是原因, follow别人代码以后直接改就是符合缩进规范的.
讨论问题就拿出理由来, 这种情绪化的说法真是没帮助