目录
代码格式
1. 缩进4个空格
保留之前的习惯,对老代码的保护;
4个空格更清晰;
不用tab:有自己的编码表示
2. 行宽
3. 变量声明
使用前声明
4. 命名驼峰式
(A-Z a-z 0-9 _$)
- “_”开头代表变量为私有
- 大多数变量和方法名应该以小写字母开始
- 全局变量应该全部使用大写字母
- 类名使用大写字母开头
- jQuery对象使用$开头
5. 注释
多行
1 | /** xxx */ |
单行使用 //:
1 | // bad |
在要注释部分的上边一行放置注释. 如果不是块的第一行则在注释前留一个空行.
ps:
- 所有注释都要以空格开头便于阅读
- 使用 // FIXME: 来标注问题.
- 使用 // TODO: 来标明问题的解决方案.
6. 空格和空行
1.在起始花括号前加一个空格
1 | function test() { |
2.控制语句的圆括号前加一个空格 (if, while 等)
1 | // bad |
3.操作符两边放置空格
1 | // bad |
4.空行结束文件
1 | // bad |
5.函数调用和声明在参数列表和函数名间不要放置空格
1 | // bad |
6.圆括号、方括号中不要添加空格
1 | // bad |
7.花括号中添加空格
1 | // bad |
8.逗号前不要加空格,逗号后要加空格.
9.对象字面量属性的键和值之间要强制使用空格
1 | var obj = { "foo": 42 }; |
推荐使用
- 单个文件不超过1000行
- 单个函数不超过100行
- 单个函数复杂度不超过10
- 单个函数参数个数不超过7个(解决:把参数封装成对象)
- 字符串推荐使用单引号(html片段中的属性字符串用双引号)
不推荐使用
- 不要批量格式化他人代码
- 不推荐使用new Object()、new Array()(前者性能较低:new Object() => {}、 new Array() => [])
- 判断时避免使用
js==、 !=(前者不严谨,会类型转换: == => === 、!= => !==) - if嵌套不要超过3层(逻辑封装)
- 不推荐回调嵌套(promise、Async/await (es7)推荐)
- 不推荐使用魔法数字(注释、语义化常量)