重构的原则
- 重构与性能
- 三种编写快速软件的方法
- 时间预算法
- 持续关注法
- 利用统计数据专门优化
测试系统
- 确保测试不该通过时真的会失败。
- 频繁地运行测试。对于你正在处理的代码,与其对应的测试至少每隔几分钟就要运行一次,每天至少运行一次所有的测试。
- 警惕共享测试夹具。如果一个函数会修改测试夹具中的变量,就会影响到后面的测试。
- 考虑可能出错的边界条件,把测试的火力集中在那里。虽然在LeetCode上刷题就已经知晓的道理了,但是再强调也没问题。
- 不要因为测试无法捕捉所有的bug就不写测试,因为测试的确可以捕捉到大多数bug。
- 每当你收到一个bug报告,请先写一个单元测试来暴露这个bug。只要有这条测试样例存在的一天,那这个bug就不可能再出现。