首页 > 代码库 > 代码坏味道之过大的类

代码坏味道之过大的类

1.为什么会出现过大的类

我们的编码过程中,不知不觉的就把一个类编写的非常的庞大。为什么会这样子呢?我想无非由两个理由,首先是编码过程中为了贪图一时的方面不想动手去添加一个类用来管理不属于原先这个类的职责。其次整个系统使用了太多的继承关系,无形中就会造成子类变得异常庞大。总之,如果想利用一个类做太多的事情,往往就会造成这个类变得异常庞大。8

2.过大的类会照成什么严重后果

既然出现了过大的类,那么他到底会造成什么严重的后果呢?首先很明显一点过大的类在开发中难以调试并且在后期维护中可能因为功能的变更会导致类变得更大且更容易出现BUG。其次过大的类给代码的阅读理解造成了,对类的职责理解不清晰,不易阅读修改的困境。其次,类写的大其往往就会出现太多实例变量,一旦如此,就会出现更多的冗余代码,出现了冗余代码出现BUG调试都是非常的困难的。

3.遇到了过大的类我们该怎么办

当我们面临过大的类的时候咋办啊?当遇到过大的类的时候我们可以运用Extract Class 将几个变量一起提炼至新类中,提炼的时候选择彼此相关的变量,将它们放在一起,这样做提高类的内聚性。提炼类的过程中发现有可提炼出继承关系的就是用Extract Subclass。

类如果有太多的代码,也是代码复制、混乱并最终走向死亡的源头。最简单的方案,就是把多余的东西消弭在类内部。一个类如果拥有的代码太多,往往也适合使用Extract Class 和 Extract Subclass。如果要做的更好,先确定客户端如何使用它们,然后运用Extract Interface 为每一个使用方式提炼出一个接口。这样做可以帮助你看清楚如何分解这个类。

那么我们怎样才能做得更好呢?这里涉及到程序员需要熟悉业务知识提炼出领域对象,将一个大的类的不同的职责分解到不同的领域对象里面,这样我们也完成了分解这个大类的目标了。