——什么?代码怎么能“闻”??-它没有鼻子…但它肯定会很臭!
臃肿的代码、方法和类已经增加到如此巨大的比例,以至于它们很难处理。通常这些气味不会立即出现,而是随着程序的发展而逐渐积累(特别是当没有人努力消除它们时)。
所有这些气味都是面向对象编程原则的不完整或不正确的应用。
这些气味意味着,如果您需要在代码中的某个地方更改某些内容,则必须在其他地方也进行许多更改。因此,程序开发变得更加复杂和昂贵。
可有可无的东西是没有意义和不需要的东西,如果没有它,代码就会更干净、更高效、更容易理解。
该组中的所有气味都会导致类之间过度耦合,或者显示如果耦合被过度委托取代会发生什么。
重构的大部分工作都致力于正确地组合方法。在大多数情况下,过长的方法是万恶之源。这些方法中变幻莫测的代码隐藏了执行逻辑,使方法极其难以理解,甚至更难更改。
这个小组中的重构技术简化了方法,消除了代码重复,并为未来的改进铺平了道路。
即使您以一种不太完美的方式在不同的类之间分布功能,仍然有希望。
这些重构技术展示了如何在类之间安全地移动功能、创建新类以及对公共访问隐藏实现细节。
这些重构技术有助于数据处理,用丰富的类功能替换原语。另一个重要的结果是理清了类关联,这使得类更加可移植和可重用。
随着时间的推移,条件句的逻辑会变得越来越复杂,也有更多的技术可以解决这个问题。
这些技术使方法调用更简单、更容易理解。这反过来又简化了类之间交互的接口。
抽象有它自己的一组重构技术,主要与沿着类继承层次结构移动功能、创建新类和接口以及用委托替换继承相关,反之亦然。