加入收藏 | 设为首页 | 会员中心 | 我要投稿 孝感站长网 (https://www.0712zz.com.cn/)- 运营、云管理、管理运维、云计算、大数据!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

马克·扎克伯格会是人工智能吗?

发布时间:2021-02-04 16:20:38 所属栏目:传媒 来源:互联网
导读:关于纵向过长的问题其实就是这个方法或者函数职责不够单一,一个函数中堆积太多功能。 重构的手段很简单:Extract Method,积极抽取函数或方法,隐藏细节保持职责单一。 坏味道:Large Class(过大的类) 过大的类也常常被成为上帝类(God Class),上帝类一般是

关于纵向过长的问题其实就是这个方法或者函数职责不够单一,一个函数中堆积太多功能。

重构的手段很简单:Extract Method,积极抽取函数或方法,隐藏细节保持职责单一。

坏味道:Large Class(过大的类)

过大的类也常常被成为上帝类(God Class),上帝类一般是指维护了太多功能(违反单一职责原则),连上帝也看不懂你的代码。

知识小百科

设计模式的六大原则有:

Single Responsibility Principle:单一职责原则

Open Closed Principle:开闭原则

Liskov Substitution Principle:里氏替换原则

Law of Demeter:迪米特法则

Interface Segregation Principle:接口隔离原则

Dependence Inversion Principle:依赖倒置原则

六个原则的首字母联合起来就是 SOLID,两个 L 当成一个。

那如何判断一个类是不是上帝类呢?

一般一个类同时满足以下3个条件就是上帝类:

(1)CPFD (Capsules Providing Foreign Data) 从多个不相关类(模块)中引用数据。

(2)WOC (Weighted Operation Count) 类的所有函数的圈复杂度之和超过65。

(3)TCC (Tight Capsule Cohesion) TCC < 1/3 类需要具有低内聚的特性(类中直接相关的方法与全部方法之比小于1/3),也就是较少的private方法。

为什么过大的类是一种坏味道?

过大的类承担了过多的职责,往往有很多重复代码,并且这些重复代码你还不容易发现,这基本就是坏味道的开始。

过大的类被子类继承会导致其他坏味道,比如遗留的馈赠。

如何解决过大的类这种问题呢?

通过观察这个过大类的属性,看有没有一些属性有关联,如果有可以使用 Extract Class 将这些关联属性抽象到一个新类中,并将与这些属性相关的操作都 Move 到新的类中。

通过观察这个过大类的方法,看有没有一些函数或方法存在兄弟关联,如果有可以使用 Extract Subclass(提炼子类)的手段将这些方法提炼到子类中,子类可以继承父类。将相似的行为方法聚集在一个类中拆分到多个类中,可以进一步将发放调用解耦开。

以上方法循环往复,一个大类就可以拆分为多个小的且职责单一的类。

坏味道:Duplicated Code(重复代码)

Robert C.Martin:重复可能是软件中一切邪恶的根源。

重复代码一般是由于复制粘贴造成的。需求迭代过程中为了不影响已有功能,通常是将之前的代码copy一份改改,然后匆匆上线。

那为什么重复的代码是一种坏味道呢?

最直接的弊端就是如果你想修改一段代码逻辑,可能会遗漏,甚至需要多次修改才能确保全部修改完。

如何解决重复代码的问题?

下面结合代码实践分几个场景分别描述。

场景1:同一个类中两个方法含有相同的表达式

(编辑:孝感站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读