代码坏味道与重构之数据泥团和基本类型偏执

文章目录

    • 1. 数据泥团
    • 2. 基本类型偏执

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

声明:本文仅用于学习交流。

你可能感兴趣的:(代码坏味道与重构,重构,代码坏味道,数据泥团,基本类型偏执)