《重构》读书笔记
1.1
作者举了一个租赁影碟收费、计算积分的例子,修改前的程序明显不符合面向对象的精神,若对计费标准、影片分类规则进行改变,则需要改动很多地方,且需要保证多处地方一致。“随着各种规则变得愈来愈复杂,适当的修改点愈来愈难找,不犯错的机会也愈来愈少。”
tip:如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构那个程序,使特性地添加比较容易进行,然后再添加特性。
1.2 重构的第一步——建立一组可靠的测试环境
测试过程中很重要的一部分,就是测试程序对于结果的报告方式。它们要么说“OK”,表示所有新字符串都和参考字符串一样,要么就列出失败清单,显示问题字符串的出现行号。这些测试都能够自我检验。必须让测试有能力自我检验,否则就得耗费大把时间来回比对,这会降低开发速度!好的测试是重构的根本,能给你必要的安全保障,花时间建立一个优良的测试机制是完全值得的。
tip:重构之前,首先检查自己是否有一套可靠的测试机制,这些测试必须有自我检验能力。