Clean Code规范整理

本文针对 Clean Code 一书进行了一些关键内容和提纲的总结。

变量

 1.变量名有意义
 2.不使用魔法数字
 3.参数用变量而不是数字
 4.mapping中的iterator变量命名清楚
 5.属性中不要出现类名/对象名
 6.方法参数使用默认值检查参数是否为undefined

方法

 1.使用一到两个形参(或方法复杂、使用对象类型参数、形参的解构赋值)
 2.一个方法应该只做一件事!
 3.方法名要能自我解释
 4.如果出现重复的代码要精练和抽象
 5.使用Object.assign给对象赋值
 6.(如果方法中出现flag,应当分成两个方法处理)
 7.尽量避免方法的副作用(更改全局变量、多个方法写一个文件、公用一个状态等)
 8.处理数组、对象时最好处理其复本
 9.修改原生对象和方法最好使用class新建
 10.尽量使用函数式编程代替命令式编程
 11.存在多个判断条件时用方法来包括,避免使用非类型条件
 12.避免使用条件语句,使用多态性(class)来代替
 13.避免类型判断

对象与数据结构

 1.使用class来实现继承
 2.使用链式方法调用
 3.谨慎使用继承(仅在以下三种情况使用):
     a.关系为is-a而不是has-a的时候
     b.基类可以被复用时
     c.想通过更改基类来进行全局属性的改变时

SOLID原则

 1.SRP(单一职责):一个类要足够内聚,负责尽量单一的功能,减少类的改动;
 2.OCP(开闭原则):对扩展开放,对修改封闭;
 3.LSP(里式替换):父类特性在子类中要完全继承无变化,即在父类对象被替换为子类对象时无影响;
 4.ISP(接口隔离):不同接口之间需要进行隔离;
 5.DIP(依赖倒置):高层模块不能依赖底层模块,应都依赖于抽象;

并发

 1.用Promises,不用回调函数callbacks(用async/await更好)

错误处理

 1.不确定的代码需要try...catch...
 2.不要忘了catch里的错误处理、reject里的错误处理

格式

 1.驼峰、下划线、大小写都需要保持一致