名称 | 动机 | 输入 | 输出 |
Extract Method | 函数过长 不方便阅读 |
简短而良好的函数命名 需对局部变量进行处理 |
函数复写容易 阅读性增强 复用机会变大 |
Inline Method |
内部代码和函数名称 一样清晰易读 一组不合理的函数 重新重构 |
检查函数,确定不具有多态性; 函数被调用点 |
间接性降低 |
名称 | 动机 | 输入 | 输出 |
Inline Temp | 一个临时变量 仅被赋值一次 阻碍重构 |
将变量先赋值成final, 以确定是否只赋值一次 |
简介 |
Replace Temp with Query | 临时变量的临时性 驱使生成长的函数。 临时变量可以被所有函数访问 |
将表达式替换为一个独立函数 临时变量只赋值一次 |
便于重构 |
Introduce Explaining Variable | 复杂表达式转换为一个临时变量 易于阅读 |
一个final 变量 | 易于阅读 |
Split Temporary Variable | 一个临时变量被赋值多次 每个变量只负责一个责任 |
针对每次赋值,创作一个独立,对应的临时变量 | 多个责任的变量,会使用户糊涂 |
Move Method | 检查sourceclass 关联的属性; 检查sourceclass的superclass 和subclass targetclass 声明 如何从source正确引用 target Object; |
source method 变成委托函数 需调整对 source method 的调用,变成对target method的调用 |
降低耦合 |
Move Field | 某个field频繁被另一class用到 需确定何时在source object中使用target object source filed ---> target |
class 函数专一 高内聚 |
|
本文转自 randy_shandong 51CTO博客,原文链接:http://blog.51cto.com/dba10g/414923,如需转载请自行联系原作者