WHAT?
调试——发现错误的一种手段
WHY?
相对于不善于调试的程序员,善于调试的程序员只需要前者1/20的时间就可以找出问题所在
HOW?
科学的调试方法
- 把错误的发生稳定下来:假设-证实/证伪
- 确定错误原因:二分法
同他人讨论问题
忏悔式调试
抛开问题,休息一下
修正问题
- 动手之前先要理解问题
- 理解程序本身,而不仅仅是问题
- 验证对错误的分析
- 放松一下
- 治本,而不是治标
- 修改代码时一定要有正确的理由:不要随机地修改代码,在没有理解代码时对她做的改动越大,你对她能正确工作的信息就越低
- 检查自己的改动:code review
- 增加对应的单元测试
- 搜索类似的缺陷:如果你想不出如何查找类似缺陷,说明你对程序的理解程度还不够
编译器的警告信息
- 不要忽略编译器提出的任何警告信息:做编译器的人对于你所使用的语言的理解要远远胜于你自己
- 用对待错误的态度来处理警告
- 在项目组范围内使用统一的编译设置:统一的编译配置文件或编译脚本