重要知识点
如果发下自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构那个程序,使特性的添加比较容易进行然后再添加特性。
重构前先检查自己是否有一套可靠的测试机制,这些测试必须有自我检验的能力。
重构技术就是以微小的步伐修改程序,如果你犯下错误,很容易便可发现它。
任何一个傻瓜都能写出计算机可以理解的代码,惟有写出人类容易理解的代码,才是优秀的程序员。
重构(名词):对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提交其可礼节性,降低其修改成本。
重构(动词):使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。
事不过三,三则重构
不要过早发布接口,请修改你的代码所有权政策,使重构更顺畅
不要因为测试无法捕捉所有bug就不写测试,因为测试的确可以捕捉大多数bug。
当事情呗大家认为应该会出错时,别忘了检查是否跑出了预期的异常。
考虑可能出错的边界条件,把测试火力集中在那儿。
编写未完美的测试并运行,好过对完美测试的无尽等待(编写测试在于行动)。
每当你收到bug报告,请先写一个单元测试来暴露这只bug。
频繁地进行测试,每次编译请把测试也都考虑进去,内天至少执行每个测试一次。
一套测试就是一个强大的bug侦测器,能够大大缩减查找bug所需要的时间。
确保所有测试都是完全自动化,让它们检查自己的测试结果。
当你感觉需要撰写注释时,先尝试重构,试着让所有注释都变得多余。