值得珍藏的改bug技巧,程序员如何快速高效改bug?

遗留的忧伤 2017-07-12 17:36:22 浏览数 (5188)
反馈

  在程序员的职业生涯中,免不了要跟bug一直打交道。Bug也是程序员进阶的磨刀石。如果是处女座的程序员,遇到bug会非常兴奋,乐此不疲去折腾,乃至解决bug;当然,bug还是大部分程序员的噩梦。

  在修改bug上经常会存在这么一些问题。

  一、面对bug的一些态度

  先来说一下软件行业的一些公司,他们经常会让一个人修补另一个人代码里的BUG。在这种情况下,一些程序员完全可以一气呵成书写了一段代码,之后就可以把问题抛给其他工程师。

  但是,这样就会出现另一种尴尬的情况。由于每个人的代码技巧和风格不一样,让一个人修复另一个人的BUG工作效率相当低。另一方面,搞得另一位程序员很没面子!何况对于技术高一点的程序员来说,修改越是糟糕的代码,越痛苦!在他们的看来,倒不如重写代码。


  其次,一些程序员面对bug也会出现消极的态度:测试人员是不是针对我?我真的适合做程序员吗?这好像不是我的bug!

  具备职业修养的程序员,面对bug的正确姿势应该是:调试代码,单元测试,联合调试,集成测试,确认问题所在,进一步找出问题的原因,然后再修改代码,验证修改后的代码。

  二、如何解决Bug?

  1、二分法定位

  这也是比较常规的方法,即把程序逻辑一点点注释掉,看看还会不会出问题,类似二分查找的方法,逐步缩小问题范围。


  2、单步调试

  由于代码逻辑错误,经常会出现输出结果与预期不符。解决此类问题最好的方法就是利用单步调试,即设定每一步代码的预期结果,然后跟踪判断实际结果是否与预期结果一致,找到不一致的原因!在开发环境无法重现,无法单步调试的,就可以运用添加输出日志的方式判断哪一步的问题。

  3、重写一遍

  大部分的bug,其实都是 typo。你可以用必杀技,重写一下代码!


  而对于兼有管理职责的程序员来说,遇到手下的bug,不用解释,不用推敲,等他们自己把程序改好,或者实在没办法,再来向你解释他们的思想!


0 人点赞