ID |
需要重构的信号 |
对应的重构方法 |
1 |
出现了重复代码 |
提取或者重组类 提取或者重组函数、方法 用多态处理子类重复代码 |
2 |
两个类耦合太多,太亲密 |
提取或者重组类,提取或者重组函数方法 |
3 |
出现了代码行尺寸极其庞大的类 |
提取或者重组类 |
4 |
没有实际作用的懒惰类 |
提取或者重组类 |
5 |
体积庞大的方法函数 |
提取或者重组函数方法 |
6 |
方法中的长参数列表 |
提取或者重组函数方法 |
7 |
子类中出现相同或相似的方法定义 |
提取或者重组父类 形成模版方法 用多态处理子类重复代码 |
8 |
很难看懂,代码逻辑或者意图表达的不清楚明晰 |
引入临时变量 提取或者重组函数方法 |
9 |
一些不加任何约束的switch语句,或者一大串if/else嵌套 |
使用围绕if体的多条件返回语句代替嵌套的复杂if/else条件判断 用多态来代替条件判断 |
10 |
太多“非常有必要的”注释 |
将注释转换为代码 |
11 |
代码中硬性潜入太多数值 |
用符号常量定义来代替硬性编码数字嵌入代码 |
12 |
类中定义了区分不同类型的类别代码 |
用多态来代替条件判断 |
13 |
太难给类、方法、变量命名时 |
提取或者重组类 提取或者重组函数方法 |
14 |
类中出现了某些变量或者方法有时有用,有时没用 |
提取或者重组类 用多态处理子类重复代码 |