重构坏味道:令人迷惑的暂时字段

Temporary Field 症状

有时你会看到某个类中某个实例变量仅为某种特定情况而设。
这样的代码让人不易理解,因为你通常认为对象在所有时候都需要它的所有变量。

重构坏味道:令人迷惑的暂时字段
文章图片
Temporary Field
病因
有时候程序员可能不想让某个类的函数参数过长,可能由于某些算法确实需要很多参数,所以为了避免上述问题,把变量放到类当中,这样只有在特殊情况下这些变量才有用。
导致的健康问题
这种代码很难理解,不管是调试,以及后续新功能的增加,在变量未被使用的情况下猜测当初设置目的,会让你发疯。
治疗
  • 如果看到一个类中某些字段只有某些情况下使用
尝试运用 Extract Class -- Replace Method with Method Object 让这些临时字段封装到一个类中杜绝暂时字段
IntelliJ IDEA 练习视频
康复
【重构坏味道:令人迷惑的暂时字段】现在每个类都拥有全周期活动的成员,没有了闲置的成员(暂时字段)
重构坏味道:令人迷惑的暂时字段
文章图片
Temporary Field After Refactoring

    推荐阅读