如何修改遗留代码
---

> 即使是最训练有素的开发团队，也不能保证始终编写出清晰高效的代码。

然而，如果我们不去尝试做一些改变，这些代码就会遗留下去——成为遗留代码，再次重构掉。即使说，重构系统是不可避免的一个过程，但是在这个过程中要是能抽象中领域特定的代码、语言也是件不错的事。

###修改遗留代码

So，如何开始修改代码？如《修改代码的艺术》一书所说，应该是下面的五个步骤：

1. 代码修改点
2. 找到测试点
3. 打破依赖
4. 编写测试
5. 修改并重构

在有测试的情况下重构现有的代码才是安全的。而这些测试用例也是功能的体现，功能首先要得到保证了，然后才能保证一切都可以正常。不过，我更喜欢以下面三点概括他们：

 - 守: 找到测试点。守，即保证原有的功能是正确的。在这基础上，我们需要添加测试
 - 破: 打破依赖。会导致遗留代码的一个原因还有，原有代码的耦合度比较高。因此，我们需要去打破这些耦合，重新构建依赖。
 - 离: 修改并重构。

不过，我想你只要有前面的那些步骤。你为什么还需要看这一章的内容呢？

参考书籍： 

 - **《修改代码的艺术》**
 - **《持续交付指南：修改代码的9条最佳实践》**
