代码的坏味道正是给开发者发出的重构讯号
坏味道类型
- 含糊不清的函数名和参数名
- 修改为富有意义的名称
- 大段以及多处复用的重复代码
- 提炼成公用函数
- 篇幅过长的函数
- 提炼独立函数,当代码需要注释以说明功能的时候,就是提炼函数的时候,函数命名可参考注释
- 过长的参数列表
- 通过引入参数对象代替
- 全局数据
- 通过封装变量代替
- 可变数据、发散式变化、霰弹式修改、依恋变量、数据泥团—将总是一起变化的东西放在一起
- 封装变量,使其get 和 set 集成于函数体内
- 封装成函数或者类
- 基本类型偏执
- 以对象取代基本类型
- 重复的Switch
- 以多态取代条件表达式
- 循环语句
- 以管道取代循环,链式调用
- 冗赘的元素、暂未使用的元素、临时字段
- 使用内联函数或者内联类取代
- 过长的消息链—多层嵌套函数
- 移除不必要的层次
- 过大的类
- 分解
- 异曲同工的类
- 建立超类和继承类