坏味道——冗余类(Lazy Class)
特征
理解和维护类总是费时费力的。如果一个类不值得你花费精力,它就应该被删除。
问题原因
也许一个类的初始设计是一个功能完全的类,然而随着代码的变迁,变得没什么用了。
又或者类起初的设计是为了支持未来的功能扩展,然而却一直未派上用场。
解决方法
- 没什么用的类可以运用
将类内联化(Inline Class)
来干掉。
- 如果子类用处不大,试试
折叠继承体系(Collapse Hierarchy)
。
收益
- 减少代码量
- 易于维护
何时忽略
- 有时,创建冗余类是为了描述未来开发的意图。在这种情况下,尝试在代码中保持清晰和简单之间的平衡。
重构方法说明
将类内联化(Inline Class)
问题
某个类没有做太多事情。
解决
将这个类的所有特性搬移到另一个类中,然后移除原类。
折叠继承体系(Collapse Hierarchy)
问题
超类和子类之间无太大区别。
解决
将它们合为一体。