[关闭]
@Secretmm 2021-01-20T07:28:55.000000Z 字数 1140 阅读 384

js代码风格规范

梳理

1. 代码块空格

代码块前要添加空格

  1. if (a) {
  2. b()
  3. }
  4. function a() {}

2. 单行代码块空格

在单行代码块中使用空格

  1. // 推荐
  2. function foo() { return true; }
  3. if (foo) { bar = 0; }
  4. // 不推荐
  5. function foo() {return true;}
  6. if (foo) {bar = 0;}

3. 函数声明的空格

函数括号前不加空格

  1. function func(x) {
  2. // ...
  3. }

4. 函数调用的空格

在函数调用时,不使用空格

  1. // 推荐
  2. fn();
  3. // 不推荐
  4. fn ()
  5. fn
  6. ()

5. 操作符的空格

操作符前后都需要添加空格

  1. const sum = 1 + 2;

6. 对象字面量的键值空格

  1. const obj = { foo: 'haha' };

7. 对象计算属性的空格

在对象的计算属性内,不使用空格

  1. // 推荐
  2. obj[foo]
  3. // 不推荐
  4. obj[foo ]
  5. obj[ foo]
  6. obj[ foo ]

8. 逗号空格

在逗号后面使用空格,逗号前面不加空格

  1. const foo = 1, bar = 2

9. 逗号风格

逗号不出现在行首

  1. // 不推荐
  2. const foo = 1
  3. ,
  4. bar = 2;
  5. const foo = 1
  6. , bar = 2;
  7. const foo = ['name'
  8. , 'age'];

10. 拖尾逗号

  1. // 不推荐
  2. const foo = { name: 'foo', age: '22', };

11. 拖尾换行

建议文件末保留拖尾换行

  1. function func () {
  2. // do something
  3. }
  4. // 此处是新的一行

12. 大括号风格

大括号相对代码位置遵循如下风格(One True Brace Style):

  1. if (foo) {
  2. bar()
  3. } else {
  4. baz()
  5. }

13. 变量命名

14. 缩进

使用空格缩进,缩进量为4空格

15. 链式调用

一行最多有4个链式调用,超过要求换行

16. 空行

最大连续空行数为2

17. 分号

不省略句末的分号

18. 自增自减

不使用自增++和自减--运算符,用+=-=代替

19. 单行区块

总是用大括号表示区块

  1. // 推荐
  2. if (a) { b(); }
  3. // 不推荐
  4. if (a) b();

20. 减少“魔数”

减少含义不明的数字,尽量使用命名常量代替,在ts中尽量使用enum代替

  1. // 推荐
  2. const STATUS = {
  3. READY: 0,
  4. SUCCESS: 1,
  5. FAILED: 2,
  6. };
  7. if (type === STATUS.READY) {
  8. // TODO
  9. }
  10. // 不推荐
  11. if (type === 0) {
  12. // TODO
  13. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注