【代码重构(Refectoring)系列教程 常见的Code Smells】代码中常见的坏的味道(Code Smells)

发布于:2022-10-31 ⋅ 阅读:(697) ⋅ 点赞:(0)

前言

  概述部分终于完成啦~(虽然也不多,但我还是一直迫不及待想要进入正题部分)现在开始要上干货啦~大家鸡冻吗,反正我还挺鸡冻的。
请添加图片描述
  具体的重构模式的思路和方法会围绕代码中的Code Smells展开。本章是常见的所有的Code Smells的目录,对于每一种Code Smells,会从它的特征,如何改进,优缺点,适用范围这些方面进行一一展开。如果你能够对本章中的所有Code Smells都有深刻的理解,并以你敏锐的嗅觉发现它,修改它。那么恭喜你,你写出的代码一定是高雅优美的。

前言

Code Smells

  神马? 😨 代码怎么发味道?
  …好吧,代码虽木有鼻子,但是它一定会发出臭味!

代码肿胀(Bloaters)

  代码肿胀是指代码,方法或者类增长成一个庞然大物,以至于很难和它打交道。通常情况下,这种“味道”不会立刻出现,而是随着时间的发展以及程序的迭代而逐渐积累(特别是在没人尝试去消除它们的情况)。
在这里插入图片描述

  ●Primitive Obsession    ●Primitive Obsession    ●Large Class
  ●Long Parameter List

面向对象的滥用(Object-Orientation Abusers)

在这里插入图片描述

  下面这些就是对于面向对象编程原则的不妥当或者不正确的特征。
  ●Alternative Classes with Different Interfaces    ●Refused Bequest    ●Temporary Filed
  ●Swich Statements

变化阻碍(Change Preventers)

在这里插入图片描述

  这意味着当你需要修改代码的某一个地方的时候,其它地方也需要做相应的修改。这样使得程序开发变得非常复杂,修改成本变得很高。
  ●Divergent Change    ●Parallel Inheritance Hierarchies    ●Shotgun Surgery

非必要部分(Dispensables)

在这里插入图片描述

  非必要部分是指某些代码没有意义,也不是必要的。当把这部分代码删除掉后,代码反而变得更干净,高效并且更容易被理解。
you )  ●Comments    ●Data Class    ●Lazy Class  ●Duplicate Code  ●Dead Code    ●Speculative Generality

不当耦合(Couplers)

在这里插入图片描述

  本组代码中介绍的所有“味道”会导致类之间的过度耦合,或者展示了如果将耦合关系变成了过度委托的关系会发生什么。
  ●Comments    ●Data Class    ●Lazy Class
  ●Duplicate Code  ●Dead Code    ●Speculative Generality


网站公告

今日签到

点亮在社区的每一天
去签到