最佳的JavaScript代码编程规范? 什么代码规范最流行?
sideeffect.kr通过分析GitHub上托管的开源代码 得出了一些有趣的结果 一起来看看吧
行末逗号对行首逗号
行末逗号:
var foo = 1, bar = 2, baz = 3;var obj = { foo: 1, bar: 2, baz: 3};
行首逗号:
var foo = 1 , bar = 2 , baz = 3;var obj = { foo: 1 , bar: 2 , baz: 3};
行末 92.345%;行首 7.655% (基于1,100,251次提交统计 )
空格和Tab
这年头大家都爱用空格了 使用空格缩进可以保证不同的开发者、不同的编辑器设置下看到的结果是一样的
空格 81.1 %;Tab 18.9 % (基于2,019,550次提交统计 )
函数后是否添加空格
无空格
function foo() { return "bar";}
有空格
function foo () { return "bar";}
无空格 67.424 %;有空格 32.576 % (基于1,212,488次提交统计 )
参数与括号间是否有空格
无空格
function fn(arg1, arg2) {//orif (true) {
有空格
function fn( arg1, arg2 ) { // ...}if ( true ) { // ...}
无空格 94.31 %;有空格 5.69 % (基于1,514,971次提交统计 )
对象字面量中冒号周围是否有空格
冒号后有空格
{ foo: 1, bar: 2, baz: 3}
冒号后无空格
{ foo:1, bar:2, baz:3}
冒号前后均有空格
{ foo : 1, bar : 2, baz : 3}
后空格 62.955 %;无空格 22.891 %;前后空格 14.154 % (基于1,300,035次提交统计 )
个人觉得 无空格太挤了 不利于快速分清key和value 前后空格的话 恐怕需要对齐冒号 看起来才美观 从统计数据来看 大部分程序员懒得对齐冒号(还是说 大部分程序员的IDE或编辑器不够智能?)
条件语句
有空格
if (true) { //...}while (true) { //...}switch (v) { //...}
无空格
if(true) { //...}while(true) { //...}switch(v) { //...}
有空格 78.276 %;无空格 21.724 % (基于1,163,316次提交 )
单引号、双引号
单引号 56.791 %;双引号 43.209 % (基于1,705,910次提交 )
总结
所以说 最流行的代码规范是:
- 行末逗号
- 空格缩进
- 函数名称后无空格
- 函数参数与括号间无空格
- 对象字面量的冒号后加空格 冒号前不加
- 条件语句关键字后加空格
流行的不一定是好的(比如流行性感冒) 但是从交流的角度来说 按照流行的风格编写代码 可以让你的代码在大多数人看起来更习惯
尊贵的董事大人
英文标题不为空时 视为本栏投稿
需要关键字 描述 英文标题