排除bug的一般性原则。为实践中所总结

进入项目中时,项目已经是后期了,需要开发的东西很少,反而是bug层出不穷。

所以很多时候都是在处理bug,以前自己开发的时候,出现bug,由于熟知业务逻辑,以及后台代码,所以想想就能大致确定出现问题的地点:是前台?是代码?还是数据库。

但是修改别人的bug,就不是这样了,这些bug神出鬼没,很难一眼看到问题所在。经常需要从前台一路跟踪参数直到数据库,才能找到出现问题的地方。

修改了一些之后,也有了一些想法。

总的来说,发现问题,确定问题要按照

   从前到后,由表及里。

   也就是先看看前台传递到后台的参数是否是正确的。是否有遗漏,是否有编码问题。

   前台没问题,那么第二步,

   查看输入数据库的参数,手动执行带参数的sql。

   为什么不是接着解决业务逻辑问题,而是直接看输入到数据库的参数是否正确?因为业务逻辑通常很复杂,很难一眼看清全貌,就像改卷子,先看结果对不对,再看解题过程。

   其实执行完sql,问题就基本确定了。如果使用业务逻辑输出的参数来执行sql,结果是正确的。那说明程序执行期间出现了问题。代码本身是没有问题的。

   如果sql不对,数据库会报错。

   如果执行了,没有想要得结果,那么说明问题出在业务逻辑部分。


大部分时候,问题不是出在一个点的,那么就按照这个顺序,递归的执行。不断循环。就能解决问题。

这只是行动中自己的想法。很简陋,再有什么想法,再更新。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值