前言一、为什么重构 二、步骤1.建立一套可靠的测试环境2.修改3.测试
总结
前言
在读这本《重构 改善既有代码的设计》之前 我总认为重构和写一份好的代码是没有区别的。但后来渐渐发现 重构的意义更为重大 如何在现有代码的基础之上 发挥自己的创造力和灵感 或许比简简单单写一份好的代码更加困难 也更加实用。 第一章节主要意在让读者对重构有一个初步的感觉 作者用了一个十分详细的样例来逐步优化。这个样例是应当去仔细阅读的 这是一个对重构步骤的具体演示 你可以解决很多的畏难情绪 不会觉得重构是那样困难 这个例子更像是重构游戏的新手指引。
一、为什么重构
重构代码的根本原因自然是代码写的不够好 在实际生产中 自然是应当先设计后实现。但往往实际情况不那么尽如人意。不断增加的新需求、不断修改的新特性都导致我们无法像预期设计的那样自己实现 越到后期自然成了一股脑地添加变量 给原本设计好的模块增加新的接口 对现有需求不断地堆叠代码。这都导致我们的产品渐渐变得难以维护。
重构就是希望可以在生产过程之中来改变这一点 重新组织变量 迁移字段、函数等等 都是种重构。重构并没有什么高深莫测 往往在开发中 我们都在不经意之间做着这件事 无需畏难而不去了解这些。最终的目的是使代码更好的可读性和可维护性 意义重大。
二、步骤
1.建立一套可靠的测试环境
重构的基础就是保证现有的代码的功能性 这一点也导致重构一份代码比写一份整洁的代码更加困难。测试环境是重要的一步 首先你需要将所有的测试在原始代码中准备好 越详细的测试用例会使你在重构中越发的自如。
2.修改
重构的修改是由小开始的 尽量使每一次修改变得独立。比如在第一次的重构中 我只做对函数的重命名 第二次我只做函数的迁移和变量删除 第三次我只做类的拆分。每当进行一次修改之后 及时对重构的代码进行测试 保证自己在上一次重构中没有引用问题 才开始下一次的重构。
3.测试
完成对一次重构就应当进行一次测试 测试是为了保证重构后出来的新代码是安全稳定的。所以在重构的过程中也应当根据实际情况不断得补充新的测试用例。之后就是 修改代码 测试 修改代码 测试。在这不断地修改中 代码也会一点点变的结构化 重构也得以快速而安全的进行。
总结
本书的第一章主要给出了一个简单重构例子 十分详细地介绍了每一步作者是如何思考对代码进行改进的。在第一次通读这些例子的时候 你会觉得作者讲述的很有道理 但实际上在自己上手时并不能按照作者的思路想下去。在这一章 最重要是这重构的理念 重构一定是要不改变现有功能 所有的重构都应当由小开始 不宜大刀阔斧 积跬步才可至千里。



