75年生人,程序员,在西安。

不要轻易放过一个容易修改的bug

有很多根本原因,是会变着法表现最终的不良现象的。如果仅靠检验,会堵了这边漏了那边,防不胜防的~


前几天我们公司的release就遇到好几个bug,其中一个分给了我,如果我目的是尽快release,那么修改方法很简单,找到的原因是字符串变成了数字,比较时不一样了,那最快的解决办法就是把数字再转成字符串就可以通过了。


然而,这个并不是根本原因,查了代码的历史记录,这几处的代码近期都没有修改过,为什么以前没出错,现在却出错了?再继续追查下去,发现是后台回传时的数据就把字串变成了数字,昨晚下班前把这个情况通报给小组,最后今天早上其他同事才发现是后台一处处理json数据的地方修改了代码,不仅仅导致了我这个bug,还有其他几个bug都是因为这一处的修改造成的。


因此,最后的解决方案就是改好这里,一下解决了三四个bug! 

当然还要提一下TDD,应该反思为什么Unit test没有及时地反应出这样的bug?还有就是程序的健壮性考虑,前端的代码为什么这么脆弱?能否实现不管字符串还是数字都能正常地比较?很多解决方案,要选择那些真正能解决根源问题的。

最后,附上刚好最近看的一篇微信文章:谁动了我的Token | TW洞见

也是讲一个bug反思的死磕精神~

评论

© 世风十三 | Powered by LOFTER