《重构》读后感(第一章)

第一章主要讲:重构是什么。


如果你要给程序添加一个特性,但发现代码因为缺乏良好的结构而不易于进行更改,那就要先重构那个程序,使其比较容易添加该特性,然后再去添加。这就是开始重构的契机。

在重构开始之前:先尝试理解代码如何工作,理解不了当然也无从谈起重构了。
然后是检查自己是否有一套可靠的测试集。
虽然编写测试需要花费一些时间,但是却可以节省可观的调试时间。

重构过程的精髓就是:小步修改,每次修改之后就运行测试。这样确保每一步都是正确的,保证代码永远处于可工作的状态,即使出了错误,你也可以马上知道错误出在哪里,避免陷入麻烦的调试,避免陷入混乱。

在重构过程中遇到的性能问题:大多数情况下可以忽略它,如果重构引入了性能损耗,先完成重构,再做性能优化。因为此时你已经有了一份结构良好的代码,再去进行性能优化也会容易很多。

在重构的编程过程中,要遵循营地法则:保证你离开时的代码库一定比来时更健康。其实就是保持进步,让代码一点一点变得更好。
而对于什么是好代码每个人都有自己的标准,但是一定有这么一条客观标准:人们是否能轻而易举的修改它。这就又回到了开头说的,是否容易添加特性。

《重构》读后感(前言)

我们写代码的基本都听过差不多这么一句话:过段时间再回头看自己以前写的代码,那真是不忍直视。
如果真能达到不忍直视的效果,那么恭喜你,你这段时间大有进步。
不过现如今,会有多少人会花时间去看以前写的代码呢?或者说有时间去看呢?
所以最方便的事情就是,一上来就写的出足够好的代码。不过这种事情也不是一蹴而就的。
读完《重构》的前言,整理以下重点内容:

代码会随着时间而腐烂,会变得不合时宜。
重构的本质就是在代码写好之后改进它的设计,就是为了在不改变外在行为的情况下,提交代码质量,或是让代码重新焕发活力。
因此软件不死,重构不歇。

注意:如果一段代码能正常工作,且确定不会再被修改,那么完全可以不去重构它。
因此我们要正确的认识重构,重构是有风险,有成本的。学习《重构》的目的就是为了减少重构,就是为了让我们一开始就用正确的方式去做正确的事,不能为了重构而重构。

正确的事就是:保持代码的易读、易修改。