20170624

JavaScript编码规范
  • 二元运算符两侧必须有一个空格,一元运算符与操作对象之间不允许有空格。
  • 用作代码块起始的左花括号 { 前必须有一个空格。
  • if / else / for / while / function / switch / do / try / catch / finally 关键字后,必须有一个空格。
  • 在对象创建时,属性中的 : 之后必须有空格,: 之前不允许有空格。这个有点像CSS中的属性和属性值之间的规范。
  • 逗号和分号前不允许有空格。如果不位于行尾,逗号和分号后必须跟一个空格。
  • 在函数调用、函数声明、括号表达式、属性访问、if / for / while / switch / catch 等语句中,()[] 内紧贴括号部分不允许有空格。
  • 单行声明的数组与对象,如果包含元素,{}[] 内紧贴括号部分不允许包含空格。而且声明包含元素的数组与对象,只有当内部元素的形式较为简单时,才允许写在一行。元素复杂的情况,还是应该换行书写。示例:
var arr1 = [];
var arr2 = [1, 2, 3];
var obj1 = {};
var obj2 = {name: 'obj'};
var obj3 = {
    name: 'obj',
    age: 20,
    sex: 1
};
  • 每个独立语句结束后必须换行,每行不得超过 120 个字符。超长的不可分割的代码允许例外,比如复杂的正则表达式。长字符串不在例外之列。运算符处换行时,运算符必须在新行的行首。举例:
// good
if (user.isAuthenticated()
    && user.isInRole('admin')
    && user.hasAuthority('add-admin')
    || user.hasAuthority('delete-admin')
) {
    // Code
}
var result = number1 + number2 + number3
    + number4 + number5;
  • 函数定义结束不允许添加分号。
  • IIFE 必须在函数表达式外添加 (,非 IIFE 不得在函数表达式外添加 (
    解释:IIFE = Immediately-Invoked Function Expression. 额外的 ( 能够让代码在阅读的一开始就能判断函数是否立即被调用,进而明白接下来代码的用途。而不是一直拖到底部才恍然大悟。示例:
// good
var task = (function () {
   // Code
   return result;
})();
var func = function () {
};
// bad
var task = function () {
    // Code
    return result;
}();
var func = (function () {
});
  • 常量、枚举的属性使用全部字母大写,单词间下划线分隔的命名方式。
  • 变量、函数、函数的参数和命名空间使用驼峰命名方式。函数参数命名举例:
function hear(theBells) {
}
  • 枚举变量、类使用 Pascal命名法。类命名举例:
function TextNode(options) {
}
  • 由多个单词组成的缩写词,在命名中,根据当前命名法和出现的位置,所有字母的大小写与首字母的大小写保持一致。
  • 类名使用名词,函数名使用动宾短语,boolean类型的变量使用 ishas 开头,Promise对象用动宾短语的进行时表达。
  • 单行注释必须独占一行。// 后跟一个空格,缩进与下一行被注释说明的代码一致。多行注释要用多个单行注释替代,而不是/*...*/
  • 文档化注释:为了便于代码阅读和自文档化,以下内容必须包含以 /**...*/ 形式的块注释中。文件,namespace,类,函数或方法,类属性,事件,全局变量,常量,AMD 模块。文档注释前必须空一行。建议:自文档化的文档说明 what,而不是 how。
  • 文件顶部必须包含文件注释,用 @file 标识文件说明。示例:
/**
 * @file Describe the file
 */
  • 函数/方法注释必须包含函数说明,有参数和返回值时必须使用注释标识。参数和返回值注释必须包含类型信息,且不允许省略参数的说明。对 Object 中各项的描述, 必须使用 @param 标识。

参考资料:

https://github.com/ecomfe/spec/blob/master/javascript-style-guide.md

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值