BUG定位,是程序员必备的技能,但有的人定位快,准。而有的人缺把代码看了一遍又一遍还是不知道问题出在哪儿?
随着开发日的增加,程序日益壮大,随之而来的BUG也越来越多。最近,老是定位bug,似乎有了点心得。拿出来分享一下,希望对大家有所帮助。
当程序出错时,我本能的一头扎进问题,检查报错跟踪信息,添加调试打印语句,启动调试器,等等,这样往往话费很多时间,稍微隐蔽点半是长有的事情。搞到最后,头都大了,还有点晕。
慢慢的,时间久了,我学会了停下来思考。由于项目一开始我就跟进来了,程序的框架还是我搭建的,所有对各个模块很熟悉,有整体框架。开始想想,如果要出现这种现象,我会在代码里面怎么实现,去猜测一些地方出现的问题。这样有目的性的去看问题,果然,有的时候在思考了很久都没有可能代码的情况下一下子就定位到了问题。开始小有成就感。于是,每当遇到问题,自己就习惯性的停下来想想,不忙着看代码,加答应,开调试器。
我认识到这种编程思考模式非常的重要。有些人痴迷于一行行的、使用各种工具来调试所有的东西。但我现在相信: 思考——不看代码的思考——是最好的调试途径,因为它能让你开发出更好的软件。