重构

重构:改善既有代码的设计

作者:Martin Fowler,Kent Beck 参与

2018

指导如何以安全快速的过程转换代码,这对于保持代码的低成本和易于修改以满足未来需求至关重要。

重构是一种用于改进现有代码库设计的受控技术。其本质是应用一系列小的行为保持转换,每次转换都“太小而不值得做”。然而,这些转换的累积效应是相当显著的。通过小步进行,可以降低引入错误的风险。您还可以避免在进行重构时系统崩溃 - 这允许您在较长时间内逐步重构系统。

我的书描述了重构的过程,并花费了大部分时间来解释如何进行各种重构 - 行为保持转换。这本书以一个简单的例子开始,描述了整个过程。然后是一些介绍性章节,讨论了围绕重构的更广泛的问题、“代码异味”(代码中需要重构的地方),以及测试的作用。

本书的大部分内容是详细描述了大约 70 种重构:进行重构的动机、安全进行重构的机制以及一个简单的例子。

这是本书的第二版,于 2018 年底出版。第一版于 1999 年出版。这是我最自豪的一本书,因为它对软件开发领域产生了重大影响。一些开发环境现在可以自动执行本书中描述的许多重构。重构已成为软件开发词汇中不可或缺的一部分(遗憾的是,这也导致了误用)。

勘误表

延伸阅读

refactoring.com

更多关于重构的资源:特别是目录,其中包括本书中所有重构的摘要

第一章免费下载

第一章代码示例

Emily Bache 创建了一个代码仓库,其中包含第一章的起始代码,涵盖十几种语言

第二版的变化

总结了第一版和第二版之间的变化。

如何访问网络版

关于第二版的备忘录

关于撰写新版本的思考:包括其范围、封面选择、目标读者。

第一版勘误表

Camilla Crispim 采访

关于第二版的 1 小时视频

InfoQ 采访