继续Debug

来源:互联网 发布:亚马逊选择centos系统 编辑:程序博客网 时间:2024/06/05 19:22

上周发布了一个版本供公司内部同事来测试。有人发现了这么一个bug,副本列表的界面上,剩余进入次数变成了负数,有的为-1,有的-2。

典型的一个解决方案,判断两数相减的结果如果小于0,就等于0。好嘛,典型的头疼医头,脚疼医脚。

之所以要请一个好的Debug大师,就是要避免这种止疼而不治疼的debug方案执行。好的程序员会使所有代码正确运行,普通的程序员追求的是代码看上去不出错。

说完信念,就说这个bug是怎么解决掉的。


两数相减为负,很明显是一个小数减了大数。一开始,我以为是已经进入次数的自增超过了可进入次数,是不是有进入副本增加次数 不在检查可进入次数这个条件之下。排查了一遍,没有。难道是被减数变小了?可进入次数应该是一个不变的量。等等,购买特权会使可进入次数变多。难道在特权模式下进入了N次,后来特权失去,可进入次数又变回了原来的数值。好嘛,现在真成了一个小数减去大数了。

我在异常日志里面了找到了一个有关特权保存到数据库的异常,这个异常的用户主体就是报bug的同事。

要使所有代码正确运行,不追求代码看上去不出错。


0 0
原创粉丝点击