看看业界的代码规范
一些约定
- 用单元测试的时间顶替修BUG的时间
- 如果一个特性时好时坏,则应该选择更好/稳定的选项
- 公司雇我们不是为了让我们去用每个新语言特性而是写出可以用的代码并且避免错误
- 存在不一定合理(比如var和
==
[例如下图的三位一体,都等但都不等])
- 代码不一定越短越好,无歧义大于简洁
- class/new/this被hooks抛弃 Vue3.0完全抛弃了class,里面完全没有用class而是全用了TS
symbol、generator、iterator、反射
用的人不多,尽量好用
一些命名规范
- 不用
没有意义
的起名 如 getdata - 起名应该让人一看就
懂
如getUserId - 不用
缩写
,要写就写全拼 如 res -> resquest 布尔
用is开头/can开头/形容词- 禁止用showDia表示是否展示dialog
普通函数
用动词开头钩子函数
用介词加动词开头容易混淆
的对象加前缀,如$div普通变量
用名词复数
要加s或者对应复数形式
一些注释规范
1.不要翻译代码
2. 不要总结代码,因为可能更新了代码 没有更新总结
3. 要 分析bug的注释
4. 要 参考来源的注释
5. 要 潜在问题警告的注释
6. 不要 发泄情绪的注释
JS特性
…扩展运算符 能用就用
// 例1
function fn(...num){
conosole.log(...num)
}
// 例2
let num = [1,2,3,4,5]
let [,,...rest] = num
console.log(rest) // 3,4,5
Promise / await 可以解决绝大部分的异步操作
getter/setter的代码演示