代码坏味道:大类

2022-09-21  本文已影响0人  GuangHui

一个类之所以成为大类,一种表现形式是长函数,还有一种表现形式是类里面有特别多的字段和函数,也许,每个函数都不大,但架不住数量众多。这次我们就主要来说一下这种形式的大类。

之所以说大类是一个坏味道,因为一个人理解的东西是有限的,没有人能同时面对所有细节。而人类面对复杂事物给出的解决方案是分而治之。经过分解拆分,人们面对的不再是细节,而是模块,模块的数量显然会比细节数量少,这样人们的理解成本就降低了。

理解了这一点,我们再回过头来看大类这个坏味道,你就知道问题出在哪了。如果一个类里面的内容太多,它就会超过一个人的理解范畴,顾此失彼就在所难免了。按照这个思路,解决大类的方法也就随之而来了,就是把大类拆成若干个小类。

(1)产生大类的原因

那么,如何拆分大类呢。首先我们要看下大类产生的原因?

(2)解决方案

知道大类产生的原因,解决方案自然也就出来了,我们需要根本对不同内容的变动原因进行分析,接下来就是根据职责,拆分出不同的实体,将字段做分组,用类把不同的信息分别做封装。

或许你已经发现了,所谓的将大类拆解成小类,本质上在做的工作是一个设计工作。我们分解的依据其实是单一职责这个重要的设计原则。

或许有人会担心,如此拆分会增加很多类的数量。然而我想说类的数量多少不是问题,通过怎样的方式,降低代码理解的难度才是我们要考虑的问题。

另外,很多人会纠结,类分开了,但表在一起,其实针对这种情况很多框架都是支持的。

(3)极致追求

每个类不超过2个字段。

上一篇下一篇

猜你喜欢

热点阅读