作为开发人员,你可能会从另一个团队接手一个项目,而且该项目是基于现有代码库的,拥有很多设计模式、使用假设、基础设施和工具。幸运的是,有一些方法可以为遗留项目注入新的活力,这样你就可以维护、改进和扩展它们,而不必顾及它们的局限性。
这是一本以经验为主导的指南,能使遗留软件项目脱胎换骨。它涵盖了重构、质量度量学、工具链和工作流、持续集成、基础设施自动化以及组织文化等内容。在技术层面,读者将学习如何给代码模块化引进依赖注入,如何定量地衡量软件质量,以及如何实现基础设施的自动化。在策略层面,读者将能学到的实践有:软件是应该重写还是应该重构,团队的组织架构应该是什么样的,以及如何让管理层意识到软件质量的重要性。本书的核心议题包括解析和模块化棘手的代码结构、集成和自动化测试、替换过时的构建系统,以及用Vagrant和Ansible 之类的工具实现基础设施自动化。
本书主要内容
● 重构遗留代码库。
● 持续审查和持续集成。
● 遗留基础设施的自动化。
● 给老代码加新测试。
● 单体应用的模块化。
本书面向的读者对象是熟悉面向对象语言(如Java 或C#)的开发人员和团队领导。
展开