转载自http://www.qtcn.org/bbs/apps.php?q=diary&a=detail&did=844&uid=77767
摘自书尾:
1.如果你发现自己需要为程序添加一个功能,而代码的结构使你无法很方便地达到目的,那就先重构那个程序,使功能的添加比较容易进行,然后再添加那个功能。 2.重构前,先检查自己是否有一个可以依靠的测试机制。这些测试必须有自我检测能力。 3.重构技术就是以微小的步伐修改程序。如果你犯下错误,很容易便可发现它。(那就直接从版本控制系统roll back 一下得了) 4.任何一个傻瓜都能写出计算机可以理解的代码。唯有写出让人能够容易理解的代码才是真正优秀的程序员。 5.重构:对软件内部结构的一种调整,目的是在不改变软件外在表现的前提下,提高代码的可读性,可理解程度,降低维护和修改成本。 6.数不过三,三则重构。 7.不要过早发布接口。请谨慎修改你的代码的各种规范,使重构的过程更加顺畅,不要进行到了一半再折回来修改以前的代码。 8.当你感觉需要撰写注释时,先尝试重构代码使注释显得多余。 9.确保所有测试都完全自动化,让它们检查自己的测试结果。 10.一套测试就是一个强大的bug检测器,能够大大缩减查找bug所需要的时间。 11.频繁地进行测试。每次测试请把测试也考虑进去--每天至少执行测试一次。 12.每当你收到bug报告,请先写一个单元测试来暴露这本bug。 13.编写未臻完善的测试并实际运行,好过对完美测试的无尽等待。 14.考虑可能出错的边界条件,把测试火力集中在那儿。 15.当事情被大家认为应该会出错时,别忘了检查是否抛出了预期的异常。 16.不要因为测试无法捕获所有bug不就写测试,因为测试的确可以捕捉到到大多数bug。 |