无脑改bug大法
去年去到格力电器的时候,其实好久都没做过系统应用了,打开电脑连git还是开平教我用的-_-!。代码写的啥完全无头绪,所以花了点时间整理出了无脑改bug大法。
首先跟进系统应用的特点有以下几个:
1.需求和代码量极大,基本没有全部面面了解的可能性
2.bug指向非常明确,就是某某个需求点要怎样怎样,一般很少牵连其他
3.有部分牵连其他的,涉及逻辑调用问题,有log可以层层追溯(感谢邓君友情赞助此log)
根据以上特点,假设在对代码完全不了解的情况下(也就是啥都不知道这堆东西是写的什么,界面和逻辑文件在哪也不知道),将庞大系统假设为一个个微小单元。
第一步定位问题代码,根据bug描述切到有问题的界面或者现象,根据界面的view id、log提示,或者一切能标记问题入口的东西来找到bug发生的入口代码。
一般找到问题代码的入口很多问题就发生在入口附近,很容易就改好了,这就过滤掉七八十的问题了…有时候就是这么简单,这么快。
第二步,问题没在定位的入口附近的只能一层层剥洋葱往问题的大概方向剥,这种没啥技巧,只能收集一切线索硬剥。一般线索收集的好的剥2-3层就发现了。
第三步真的难啃的,曾经有个很严重的问题改了1个月…只能收集一切线索,猜也没用,在线索和实验中慢慢爬坑吧
很多同事经常以为改好一个问题需要了解全局,所以在一个面中研究好久,最后太多东西了反倒逻辑线干扰到了真相。当然很多也是他们对业务的熟悉。这个方法能跨越对业务和逻辑的硬性要求,专注问题本身按步骤无脑改即可,绝大多数项目通用,不用研究需求,问同事,熟悉代码,就是无脑的有啥改啥,实验证明效果挺不错的。
有朋友说你这是没有灵魂的,问题是有灵魂的面面俱到改的bug满天飞,加班到灵魂出窍还对人这么多要求。hi boy,改完早点下班对领导对自己都好,躺着发呆不香吗非要改bug-_-!