代码的坏味道

“代码的坏味道”是来自Martin Flowler所著《重构 改善既有代码的设计》第三章的title,据作者说这一章来自Kent Beck。我觉得本章是应用重构的重点,因为它告诉我们在看到什么样的代码时就应该思考重构了,下面我就把22种坏味道以我的理解整理了一下。

  1. 重复代码(Duplicated Code):分为三种情况,一个类中含有相同的表达式,Extract Method(110),两个互为兄弟的子类中含有相同表达式,相同代码用Extract Method(110)和Pull Up Method(332),相似代码用Extract Method(110)将相似部分和差异部分分隔开,再使用From Template Method(345),选择使用Substitute Algorithm(139),两个毫不相关的类有相同表达式使用Extract Class(149)。

  2. 过长函数(Long Method):找到函数中适合集中在一起的部分,将它们提炼出来形成一个新函数,Extract Method(110),条件表达式和循环常常也是提炼的信号,Decompose Conditional(238)。如果提出的函数中有太多参数和临时变量,可以使用Replace Temp with Query(120)、Introduce Parameter Object(295)、Preserve Whole Object(288)、Replace Method with Method Object(135)。

  3. 过大的类(Large Class):这个没什么好说的,把一些彼此相关的成员变量和行为提出到新的类。Eetract Class(149)、Extract Subclass(330)、Extract Interface(341)。

你可能感兴趣的:(Java,Java,重构)