为何重构
重构改进软件设计
重构使软件更容易理解
重构帮助找到bug
重构提高编程速度
何时重构
三次法则(事不过三,三则重构)
添加功能时重构
修补错误时重构
复审代码时重构
坏代码的味道
Duplicated Code :重复代码
Long Method :过长函数
Large Class :过大的类
Long Parameter List :过长参数列
Divergent Change:发散式变换
Shotgun Surgery:散弹式修改
Feature Envy:依恋情节
Data Clumps:数据泥团
Primitive Obsession:基本类型偏执
Switch Statements:switch声明
Parallel Inheritance Hierarchies:平行继承体现
Lazy Class:冗赘类
Speculative Generality:夸夸其谈未来性
Temporary Field:令人迷惑的暂时字段
Message Chains:过度耦合的消息链
Middle Man:中间人
Inappropriate Intimacy:狎昵关系
Alternative Classes with Different Interfaces:异曲同工的类
Incomplete Library Class:不完美的库类
Data Class:纯稚的数据类
Refused Bequest : 被拒绝的馈赠
重构改进软件设计
重构使软件更容易理解
重构帮助找到bug
重构提高编程速度
何时重构
三次法则(事不过三,三则重构)
添加功能时重构
修补错误时重构
复审代码时重构
坏代码的味道
Duplicated Code :重复代码
Long Method :过长函数
Large Class :过大的类
Long Parameter List :过长参数列
Divergent Change:发散式变换
Shotgun Surgery:散弹式修改
Feature Envy:依恋情节
Data Clumps:数据泥团
Primitive Obsession:基本类型偏执
Switch Statements:switch声明
Parallel Inheritance Hierarchies:平行继承体现
Lazy Class:冗赘类
Speculative Generality:夸夸其谈未来性
Temporary Field:令人迷惑的暂时字段
Message Chains:过度耦合的消息链
Middle Man:中间人
Inappropriate Intimacy:狎昵关系
Alternative Classes with Different Interfaces:异曲同工的类
Incomplete Library Class:不完美的库类
Data Class:纯稚的数据类
Refused Bequest : 被拒绝的馈赠
Comments:过多的注释(当你感觉需要撰写注释时,请先尝试重构,试着让所有注释都变得多余)