哪种JavaScript编程风格最流行?

译者按: 关于代码风格,群众的选择应该是不错的选择。

本文采用意译,版权归原作者所有

对于 JavaScrript 编程风格,有两个最大争议:缩进使用空格还是制表符?行尾是否需要使用分号?当然,还有更多其他争议,比如:定义多行数组时,逗号应该放在什么地方?

我在想,这些争议是否浪费了我们太多时间。如果我们不去做无谓的争论,而是采用最流行的编程风格,是不是更好?于是,我分析了 100 个最受信赖的 npm 模块,并且做了一个问卷调查(一共有 1169 个参与者)。

缩进使用空格还是制表符?



  • 很显然,使用 2 个空格进行缩进是大多数,尤其对于流行的开源 npm 项目来说

行尾是否需要使用分号?



  • 绝大多数 JavaScript 开发者在行尾写分号

预设 Linter



npm 模块调研:

  • 绝大多数开源项目都不使用预设的 linter
  • 大型开源项目使用它们自定义的 linter,比如: own presets: Babel, Gulp, PostCSS, Facebook
  • Sindre Sorhus 使用xo

问卷调查:

  • 问卷调查的结果与 npm 模块的调研结果非常不一样
  • AirBnb是最流行的
  • Standard也很流行 (貌似行尾不用分号的开发者都使用Standard)

Linters



npm 模块调研:

  • 大多数 npm 开源项目的的 linter 配置非常简单:不超过 10 条规则
  • 一些项目有.eslintrc.jshintrc,但是没有将它们加入测试
  • 一些项目同时有.eslintrc.jshintrc,其中甚至有一些相互冲突的规则

问卷调查

  • Prettier在几个星期之前发布,但是已经被不少人使用了
  • 并且,很多人非常看好Prettier。“等待 Prettier 更加流行!”,”Prettier 的主要 BUG 修复之后我就用它”。
  • 有的开发者并不在乎这个,“代码风格真的重要吗?”

结论

对于前两个问题,我本来以为答案是五五开。但是,我却发现情况不是这样的:绝大多数开发者缩进使用空格键,tab 键几乎没人用;很多人都在代码行尾使用分号,但是发 Titter 时他们几乎不用。

还有,npm 项目的代码风格并没有想象中那么多差异:超过一半的项目缩进使用 2 个空格并在行尾写分号,并且它们大多数并不使用工具验证代码风格。

也许,这是是因为大多数流行的 npm 项目都很老了,而我在做问卷调查时,开发者谈论的都是它们最近开发的项目。

因此,如果你在新项目中采用AirBnb风格 (2 个空格, 行尾使用分号, etc.),这是一个不错的选择,因为大多数开发者的代码风格与你一致。

关于Fundebug

Fundebug专注于JavaScript、微信小程序、支付宝小程序线上应用实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了80亿+错误事件。欢迎大家免费试用

版权声明

转载时请注明作者 Fundebug以及本文地址:
https://blog.fundebug.com/2017/10/30/the-most-popular-javascript-code-style/

您的用户遇到BUG了吗?

体验Demo 免费使用