之前都是写一些技术干活,今天来点鸡汤,发表下最近解决几个问题后的感慨。
问题
最近维护的老项目,线上经常出现一些问题,同时也要面对第三方提供接口的变更,在此背景下,解决问题需要考虑各方面的原因。
昨天一个新版本准备上线、进入线上验证测试阶段,测试反馈了一个bug:线上的功能正常,但是验证环境上不行。大家第一反应都是这一个版本第三方更新了接口,于是,查看日志,但是线上和验证环境传参和接口返回都一致;于是看相关数据依赖接口,也没什么问题;还看了数据库记录;模拟新旧接口调用;代码逻辑梳理等方式,几个小时过去了,应该线上和验证是完全一致的。
此时方法几乎已经完全尝试,感到该问题难以解决,同时又面临着需要上线的压力,有点绝望的感觉了。
解决
只能喝点水压压惊,此时突然想起去对比svn记录,之前只是看了svn的更新日志,没有对比代码;于是决定一个个svn版本对比,对比每个版本的每一行代码(特别是相关代码)更新,不到一个小时,问题终于定位到,而解决方法也很简单,几行代码搞定。
总结
使用了很多方式,最终只剩下最笨的方式时,其实已经到了最接近成功的时候,因为在此之前,已经排除了其余所有的问题,以及所有处理问题的方式;你需要验证的只有最后一种可能,而剩下的也只有最后一种验证方式;如果说还有机会成功,那么这就是唯一正确的方式,因为其余错误的方式你已经一一排除了;此时,你需要做的,只是坚持。
原文:简书ThinkinLiu 博客: IT老五
ps: 其实针对这一问题,还有其他感慨,比如“原以为的重大bug,其实只是一次编码时的粗心大意”、“最可怕的不是无法解决问题,而是压根不知道问题因何而生”;但是最大的感慨还是“当你感到绝望时,可能是最接近成功的时候”。
扫码关注微信公众号--IT老五
微信扫一扫关注公众号,获取更多实用app,订阅地址不定时更新