最流行的JavaScript代码规范

移动开发
什么是最佳的JavaScript代码编程规范?这可能是一个众口难调的问题。那么,不妨换个问题,什么代码规范最流行?sideeffect.kr通过分析GitHub上托管的开源代码,得出了一些有趣的结果。一起来看看吧。

什么是***的JavaScript代码编程规范?这可能是一个众口难调的问题。那么,不妨换个问题,什么代码规范***?

sideeffect.kr通过分析GitHub上托管的开源代码,得出了一些有趣的结果。一起来看看吧。

code convention

行末逗号对行首逗号

行末引号:

  1. var foo = 1, 
  2.     bar = 2, 
  3.     baz = 3; 
  4.  
  5. var obj = { 
  6.     foo: 1, 
  7.     bar: 2, 
  8.     baz: 3 
  9. }; 

行首引号:

  1. var foo = 1 
  2.   , bar = 2 
  3.   , baz = 3; 
  4.  
  5. var obj = { 
  6.     foo: 1 
  7.   , bar: 2 
  8.   , baz: 3 
  9. }; 

行末,92.345%;行首,7.655%。(基于1,100,251次提交统计。)

空格和Tab

这年头大家都爱用空格了。使用空格缩进可以保证不同的开发者、不同的编辑器设置下看到的结果是一样的。

空格,81.1 %;Tab,18.9 %。(基于2,019,550次提交统计。)

函数后是否添加空格

无空格

  1. function foo() { 
  2.   return "bar"

有空格

  1. function foo () { 
  2.   return "bar"

无空格,67.424 %;有空格,32.576 %。(基于1,212,488次提交统计。)

参数与括号间是否有空格

无空格

  1. function fn(arg1, arg2) { 
  2. //or 
  3. if (true) { 

有空格

  1. function fn( arg1, arg2 ) { 
  2.   // ... 
  3.  
  4. if ( true ) { 
  5.   // ... 

无空格,94.31 %;有空格,5.69 %。(基于1,514,971次提交统计。)

对象字面量中冒号周围是否有空格

冒号后有空格

  1.   foo: 1, 
  2.   bar: 2, 
  3.   baz: 3 

冒号后无空格

  1.   foo:1, 
  2.   bar:2, 
  3.   baz:3 

冒号前后均有空格

  1.   foo : 1, 
  2.   bar : 2, 
  3.   baz : 3 

后空格,62.955 %;无空格,22.891 %;前后空格,14.154 %。(基于1,300,035次提交统计。)

个人觉得,无空格太挤了,不利于快速分清key和value。前后空格的话,恐怕需要对齐冒号,看起来才美观,从统计数据来看,大部分程序员懒得对齐冒号(还是说,大部分程序员的IDE或编辑器不够智能?)

条件语句

有空格

  1. if (true) { 
  2.   //... 
  3.  
  4. while (true) { 
  5.   //... 
  6.  
  7. switch (v) { 
  8.   //... 

无空格

  1. if(true) { 
  2.   //... 
  3.  
  4. while(true) { 
  5.   //... 
  6.  
  7. switch(v) { 
  8.   //... 

有空格,78.276 %;无空格,21.724 %。(基于1,163,316次提交。)

单引号、双引号

单引号,56.791 %;双引号,43.209 %。(基于1,705,910次提交。)

总结

所以说,***的代码规范是:

  • 行末逗号
  • 空格缩进
  • 函数名称后无空格
  • 函数参数与括号间无空格
  • 对象字面量的冒号后加空格,冒号前不加
  • 条件语句关键字后加空格

流行的不一定是好的(比如流行性感冒),但是从交流的角度来说,按照流行的风格编写代码,可以让你的代码在大多数人看起来更习惯。

责任编辑:闫佳明 来源: segmentfault
相关推荐

2011-03-21 13:01:10

2021-07-28 14:25:01

编程语言开发JavaScript

2019-01-30 12:38:41

JavaScript前端编程语言

2011-06-16 08:22:04

JavaScriptjQuery

2011-02-17 10:39:19

2021-07-17 15:19:00

JetBrainsPythonJava

2021-08-06 15:56:48

编程语言PythonJava

2021-07-18 09:17:18

JetBrains JavaScript Python

2014-02-04 19:44:23

编程语言开发

2013-05-24 13:21:23

jQuery

2011-01-04 18:04:49

PHP

2022-02-17 11:41:26

JavaScript框架编程语言

2019-10-21 09:29:00

JavaScriptHTML数据库

2017-06-27 14:02:09

前端框架Bootstrap

2018-03-13 09:34:30

人工智能编程语言Python

2023-03-31 11:21:10

网络协议LoRaWAN

2017-07-14 14:50:00

架构框架前端

2013-11-11 11:34:56

UbuntuLinux发行版Unity

2022-01-17 21:37:24

JavaScriptHTMLCSS

2023-11-20 10:49:51

点赞
收藏

51CTO技术栈公众号