Skip to content

JavaScript代码格式规范 ​

1. 文件 ​

[建议] JavaScript 文件使用无 BOM 的 UTF-8 编码。 ​
[建议] 在文件结尾处,保留一个空行。 ​

2. 结构 ​

2.1 缩进 ​

[强制] 使用 2 个空格做为一个缩进层级,不允许使用 4 个空格 或 tab 字符。 ​
[强制] switch 下的 case 和 default 必须增加一个缩进层级。 ​

2.2 空格 ​

[强制] 二元运算符两侧必须有一个空格,一元运算符与操作对象之间不允许有空格。 ​
[强制] 用作代码块起始的左花括号 { 前必须有一个空格。 ​
[强制] if / else / for / while / function / switch / do / try / catch / finally 关键字后,必须有一个空格。 ​
[强制] 在对象创建时,属性中的 : 之后必须有空格,: 之前不允许有空格。 ​
[强制] 函数声明、具名函数表达式、函数调用中,函数名和 ( 之间不允许有空格。 ​
[强制] , 和 ; 前不允许有空格。 ​
[强制] 在函数调用、函数声明、括号表达式、属性访问、if / for / while / switch / catch 等语句中,() 和 [] 内紧贴括号部分不允许有空格。 ​
[强制] 单行声明的数组与对象,如果包含元素,{} 和 [] 内紧贴括号部分不允许包含空格。 ​
[强制] 行尾不得有多余的空格。 ​

2.3 换行 ​

[强制] 每个独立语句结束后必须换行。 ​
[强制] 每行不得超过 120 个字符。 ​
[强制] 运算符处换行时,运算符必须在新行的行首。 ​
[强制] 在函数声明、函数表达式、函数调用、对象创建、数组创建、for语句等场景中,不允许在 , 或 ; 前换行。 ​
[建议] 不同行为或逻辑的语句集,使用空行隔开,更易阅读。 ​

2.4 语句 ​

[强制] 不得省略语句结束的分号。 ​
[强制] 在 if / else / for / do / while 语句中,即使只有一行,也不得省略块 {...}。 ​
[强制] 函数定义结束不允许添加分号。 ​
[强制] IIFE 必须在函数表达式外添加 (,非 IIFE 不得在函数表达式外添加 (。 ​

3. 命名 ​

[强制] 变量 使用 Camel命名法。 ​
[强制] 常量 使用 全部字母大写,单词间下划线分隔 的命名方式。 ​
[强制] 函数 使用 Camel命名法。 ​
[强制] 函数的 参数 使用 Camel命名法。 ​
[强制] 类 使用 Pascal命名法。 ​
[强制] 类的 方法 / 属性 使用 Camel命名法。 ​
[强制] 枚举变量 使用 Pascal命名法,枚举的属性 使用 全部字母大写,单词间下划线分隔 的命名方式。 ​
[强制] 命名空间 使用 Camel命名法。 ​
[强制] 由多个单词组成的缩写词,在命名中,根据当前命名法和出现的位置,所有字母的大小写与首字母的大小写保持一致。 ​
[强制] 类名 使用 名词。 ​
[建议] 函数名 使用 动宾短语。 ​
[建议] boolean 类型的变量使用 is 或 has 开头。 ​
[建议] Promise对象 用 动宾短语的进行时 表达。 ​

Released under the MIT License.