[译]JavaScript:用什么来缩进
原文:http://atroche.org/post/30994290348/javascript-indentation
JavaScript没有一个相当于PEP8的东西(译者注:PEP8是python官方的代码风格指南).没有官方的文档告诉我们应该如何来缩进.社区的风格指南(有很多)又没有一个统一的共识.作为一个程序员,我们又该怎么做?
我写了一个脚本把GitHub上前100个最受关注的JS项目克隆了下来,看一下他们是用什么来缩进自己的.js文件的.下面是统计结果:
和其他语言,比如Ruby和Python中,某种特定风格占据主导地位的情况比较而言,JavaScript中,这三种缩进风格貌似都占据了不少份额.难道是JS社区比较杂乱无章?
前十个最受关注的项目中.有八个项目使用了两个空格来缩进(jQuery和three.js使用了制表符.)
统计结果和那些最知名的风格指南中的建议比较一下,又如何呢?
- Douglas Crockford: 四个空格
- Google: 两个空格
- jQuery: 制表符
- Idiomatic JavaScript: 两个空格
- GitHub: 两个空格
- NPM: 两个空格
- CoffeeScript output: 两个空格
有超过一半的网站都使用jQuery,Douglas Crockford写了Stack Overflow上最受欢迎的JavaScript书籍,很显然,他们都脱离了JavaScript社区.
下一步,我会让我的代码(CoffeeScript编写)能够统计行的长度,行终止符以及其他JavaScript风格的问题.如果你对这个感兴趣,可以在Twitter上关注我.
用什么来缩进只是个人喜好的问题(所以才称之为代码"风格"),但是如果你创建了一个开源项目,希望它是符合社区标准的话,那就用两个空格来缩进.
-
GitHub上的项目可能并不能反映出大部分编写商业软件的程序员们是如何编写他们的代码的.但考虑到网上大部分JS文件都被压缩的面目全非,这已经是我们能找到的最好的统计源了. ↩
-
我的朋友兼导师Tim Diggins建议我调查一下服务器端的语言对JavaScript编程风格的影响.我已经能猜到一些了,比如,有Python背景的程序员更喜欢使用四个空格来缩进. ↩