前言
概述部分终于完成啦~(虽然也不多,但我还是一直迫不及待想要进入正题部分)现在开始要上干货啦~大家鸡冻吗,反正我还挺鸡冻的。
具体的重构模式的思路和方法会围绕代码中的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