整洁的代码只做一件事。一个函数、一个类、一个工程只做一件事。
铭记三点:消除重复、提高表达力、提早构建简单抽象。
读代码和写代码话费的时间比例是10:1。
童子军军规:让营地比你来时更干净。
每次签入时都要比签出时更干净。
有意义的命名
- 名副其实。用方法替换掉魔法数字。
- 避免误导。
- 做有意义的区分。废话都是冗余。要以读者能鉴别不同之处的方式来区分。
- 使用读的出来的名称。
- 使用可搜索的名称。名称长短应与其作用域大小相对应。如果多次使用,应用便于搜索的名字。
- 避免使用编码
- 避免思维映射
- 每个概念对应一个词
- 添加有意义的语境
函数
- 短小。缩进层级不该多于一层或两层。
- 只做一件事。
- 每个函数一个抽象层级。
- 禁止switch。
- 使用描述性名称。
- 函数参数尽量避免三个以上。
- 不要向函数传入布尔值,应该分成两个函数。
- 当参数数量是三个或三个以上,说明参数需要封装了。
- 动词或者关键字命名。
- 不要使用输出参数。
- 把指令和判断分隔开。
- 用异常替代错误码。
- 抽离try、catch代码块。
- 消除重复。重复是一切邪恶的根源。
- 用函数替代and、or来提高表达力
把系统当做故事来讲。