重构 改善既有代码的设计
代码的坏味道¶
- 神秘命名
- 函数改名
- 变量改名
- 字段改名
- 重复代码
- 提炼函数(完全重复的代码)
- 移动语句(把相似的部分方法放在一起以便提炼)
- 函数上移(重复的代码段位于同一个超类的不同子类)
- 过长函数
- 每当感觉需要注释来说明点什么的时候,就可以把徐璈说明的东西写进一个独立函数中,以其用途进行命名
- 如果很难进行命名,说明需要进一步拆分
- 提炼函数
- 查询取代临时变量
- 参数对象、保持对象完整(简洁的参数列表)
- 条件表达式、循环、分支通常都是提炼的信号
- 每当感觉需要注释来说明点什么的时候,就可以把徐璈说明的东西写进一个独立函数中,以其用途进行命名
- 过长参数列表
- 过长的参数列表令人迷惑
- 查询取代参数(向某个参数发起查询而获得另一个参数的值)
- 保持对象完整(直接传入整个数据结构)