调试,号称是软件开发过程中最耗时的工作,无数的开发人员在上面花费了无数的时间。毫无疑问,想办法提高调试的效率是非常有用的。那么关键在哪里呢?就是要用科学的方法。
相信所有的开发人员都有这样的经历:要改正一个缺陷,试试改掉这一句行不行,再试试改掉那一句行不行,试来试去,越改越多,最后自己都迷糊了,不知道改了些什么。也许一下子可以了,也许还是不行,还是不知道为什么行或者不行。这个过程会花费很长的时间,最后还不一定有效果,所以是低效的方式。
科学的方法是按部就班,不求速成,因为欲速则不达。其实过程说来也很简单,
- 第一,稳定缺陷;
- 第二,定位缺陷;
- 第三,改正缺陷;
- 第四,测试修改;
- 第五,改正类似的缺陷。
稳定缺陷是第一步,也是最具挑战性的一步。其实就是让缺陷能够重现,搞清楚在什么样的条件下一定会出现这个缺陷。不能有规律重现的缺陷通常都是初始化,跟时间相关,或者空指针之类的问题。能重现了之后就可以开始定位到底是哪一部分代码引起了这个缺陷。这时有各种各样的方法,附在后面的checklist里面,可以根据情况选用。要注意