1. 数据泥团
定义:总是成块出现的相同数据项,包括多个类中相同的字段、多个方法签名中相同参数等。
影响:成块出现的重复参数过多,影响可维护性,增加理解成本。
重构目标:减少相同的字段及入参,缩短入参列,简化函数调用。
重构方法:
- 提炼类
- 引入参数对象
- 保持对象完整性
常见特点:
- 方法参数过多
- 成块的参数总是重复出现在多个类字段、方法签名中
重构中可能用到的快捷键操作:
| 操作 | 快捷键 |
|---|---|
| 提炼类 | Ctrl + Alt + Shift + T -> Extract Delegate 鼠标右键 -> refactor -> Extract Delegate |
| 引入参数对象 | Ctrl + Alt + Shift + T -> Introduce Parameter Object 鼠标右键 -> refactor -> Introduce Parameter Object |
| 抽取方法 | Ctrl + Alt + M |
| 内联 | Ctrl + Alt +N |
| 实例方法搬移 | F6 |
| 提取字段/参数/变量 | Ctrl + Alt + F/P/V |
2. 基本类型偏执
定义:应该抽象建模的概念,还是使用基本类型表示。
影响:暴露过多细节,代码内聚性差,可读性不高。
重构目标:消除基本类型,提升代码可修改性、内聚性、可读性。
重构方法:
- 对象取代基本类型
- 子类取代多态取代条件表达式类型
- 提炼类
- 引入参数对象
常见特点:
- 使用基本类型而非对象
- 暴露过多细节未提炼封装
- 字符串的条件表达式
重构中可能用到的快捷键操作:
| 操作 | 快捷键 |
|---|---|
| 引入参数对象 | Ctrl + Alt + Shift + T -> Introduce Parameter Object 鼠标右键 -> refactor -> Introduce Parameter Object |
| 创建子类 | Alt + Enter -> Create subclass |
| 工厂方法代替构造方法 | Replace Constructor With Factory Method |
| 提炼接口 | Ctrl + Alt + Shift + T -> Extract Interface 鼠标右键 -> refactor -> Extract Interface |
| 上移成员方法、变量 | Pull Member Up |
| 下移成员方法、变量 | Push Member Down |
声明:本文仅用于学习交流。
3658

被折叠的 条评论
为什么被折叠?



