一、变量与函数的命名(变量名和函数名是最好的注释)
- 通常情况下函数小陀峰、类名大陀峰、变量短横线/小陀峰、const全大写
- 单词要表达出正确的语义,如:array类型或其它集合类型用英语复数格式、其它类型不要用复数格式
- 区分函数为功能性函数还是业务型函数,功能型函数按功能英文命名,业务型函数按业务英文命名
- 功能型函数:只实现功能和通用的业务逻辑时(可以在任何业务场景使用)
- 业务型函数:耦合了业务逻辑,包括在限定的场景下可以通用的函数 因为这个函数没有与任何业务耦合,所以即使用于做自动保存的业务也不应该按业务命名,应该按功能命名
二、代码使用 jsdoc 风格的注释 (在函数前输入/* 并回车可以快捷生成)
- 必须注明参数和返回值类型
- 对于参数的特殊情况或有歧义的地方需要注释说明
三、代码尽量整齐对称,一般情况下有以下规则:
- 减少无用代码 代码能少写一行就少写一行,这样方便搜索和阅读
- 代码尽量对称 整齐的代码修改起来更方便,对称的代码可以减少bug 不要一会x在前面一会y在前面,不要一会+=一会++
- 不要保留被注释的代码块,除非你确信他非常重要 影响搜索和阅读,而且你90%不会再使用它,99%不敢使用它
四、修改代码要保持接口的一致性 因为你可能不止一个地方在使用它,而且可能别人也在使用它
五、不要修改参数和返回值的类型和含意,除非你有把握并且值得这么做 即使你修改了所有引用它的地方,也可能因为没有通知你的同事而引入新的bug
六、尽量复用函数而非复制代码 因为如果有变化,你必须修改所有你复制的代码,更糟糕的是你通常会发现你复制过去的代码已经做过其它修改了,你不得不再添加一些垃圾在上面
七、使用Promise而非回调
八、无论什么情况下,都必须将错误暴露出来,而不是忽视它,至少应该将错误打印出来
bad
good