迈克尔·C.弗伊特的《有效处理遗留代码》:策略与工具

4星 · 超过85%的资源 | 下载需积分: 32 | PDF格式 | 2.37MB | 更新于2024-10-02 | 166 浏览量 | 148 下载量 举报
1 收藏
"《有效处理遗留代码》(Working Effectively with Legacy Code, English) 是Michael C. Feathers所著的一本书,该书隶属于罗伯特·C·马丁系列。这本著作深入探讨了在现有软件系统中进行有效改变的问题,对于那些面临大量遗留代码挑战的开发人员来说是一份宝贵的指南。 第一部分,"机械原理:变化的艺术",从如何理解软件变化的原因开始。章节1阐述了四个驱动软件变更的因素:改进设计、降低风险、适应需求变化和修复错误。作者强调了在面对复杂依赖关系时,如图2.2所示的更新发票类案例,如何谨慎处理以减少对系统的破坏性影响。 第二章关注如何处理反馈,尤其是单元测试的作用。作者引入了软件工作台的概念,并解释了什么是单元测试以及不同类型的测试工具,包括测试 Harnesses 和更高层次的测试覆盖策略。书中还讨论了遗留代码困境及其解决方法——The Legacy Code Change Algorithm,旨在帮助开发者制定有效的变更策略。 第三章探讨了"感知与分离"的技巧,例如通过伪造(Faking)协作对象来支持真实测试。作者区分了两种类型的伪造对象,强调了它们在测试中的应用,以及如何在不破坏原有系统结构的情况下进行操作。 第四章介绍了Seam模型,这是一种将系统模块化的设计方法,通过识别和处理接口之间的连接点(Seams),使系统更易于管理和测试。书中详细讲解了不同类型Seams,如对象Seams,以及如何通过Enabling Points和Link Seams实现无缝集成。 第五部分关注于工具的使用,包括自动化重构工具、测试与自动化的结合,以及mock objects(模拟对象)在单元测试中的关键作用,以及通用的测试框架。 第六章针对实际场景,提出了在时间紧迫且必须进行代码更改的情况下,如何高效地处理遗留代码问题。这部分强调了在有限的时间内,如何权衡风险,优先处理关键部分以实现最小影响的修改。 《有效处理遗留代码》是一本实战导向的书籍,提供了解决遗留代码挑战的方法论和实用技巧,对于任何需要与既有代码库打交道的开发人员来说,都是一本不可或缺的参考文献。"

相关推荐