美文网首页
代码坏味道:大类

代码坏味道:大类

作者: GuangHui | 来源:发表于2022-09-21 20:42 被阅读0次

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

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

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

(1)产生大类的原因

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

  • 职责不单一
    通常来说,很多类之所以巨大,大部分原因都是违反了单一职责原则。而想要破解“大类”的谜题,关键就是能够把不同的职责拆分开来。
  • 字段未分组
    大类的产生往往还有一个常见的原因,就是字段未分组。

(2)解决方案

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

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

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

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

(3)极致追求

每个类不超过2个字段。

相关文章

  • 代码坏味道:大类

    一个类之所以成为大类,一种表现形式是长函数,还有一种表现形式是类里面有特别多的字段和函数,也许,每个函数都不大,但...

  • 识别代码中的坏味道(三)

    前两篇文章 《识别代码中的坏味道(一)》 和 《识别代码中的坏味道(二)》 中已经介绍了 18 个代码坏味道。《重...

  • 代码坏味道

    Duplicated Code(重复代码) 如果你在一个以上的地点看到相同的程序结构,那么可以肯定:设法将它们合而...

  • 代码的坏味道

    0. 本章内容导图 1. 常见的代码坏味道 (1)重复代码 坏味道中首当其冲的就是重复代码,重复代码是万恶之源,如...

  • 代码的坏味道

    简述 今天主要简单的谈谈重构。重构在项目的开发周期中其实蛮重要的,不过很多小公司并不在乎。多数创业公司和产品都是试...

  • 代码的坏味道

    7.Feature Envy(依恋情结) 表现形式: 一个类的函数对其他类的操作多于自己类中数据的操作。 重构方案...

  • 代码的坏味道

    从我们的经验来看,没有任何度量工具比得上一个见识广博的直觉。你必须培养自己的判断力,学会判断一个类有多少实例变量算...

  • 代码的坏味道

    代码首先是写给人看的,只是恰巧(incidentally)能够运行。 ----Paul Gr...

  • 代码坏味道(二)

  • 代码坏味道(三)

网友评论

      本文标题:代码坏味道:大类

      本文链接:https://www.haomeiwen.com/subject/ytjiortx.html