死程序不说谎
今天被一个问题纠结了好久: 我发布给QA的安装包,一直都是好好的,忽然今天发给QA的安装包,安装后,发现有些模型 不对。 css
好的先debug一下吧。一debug,发现debug的是好的。 html
怕什么来什么,岂不怪哉。傻眼了,开始怀疑代码同步的不对,(一直都是这样同步的呀)。 又开始怀疑编译的环境,换了两个虚拟机,同步了3次代码。 (这两个问题多是缘由,但可能性很是小,由于一直就是这么用的,因此真不该该一开始 从这两个方向入手) git
思来想去,左试右试。始终找不到问题的缘由。 spa
这样3个小时很快过去了,也下班了,尚未搞定。 debug
回家了,带老婆孩子出去吃了顿饭。 code
回来继续试,最后发现原来是我昨天刚换的一些模型形成的regression。在debug下重现不 了,是由于在debug下,我把model替换成sdcard上的了,为了提升debug的速度。 orm
原本就应该确定这个问题是个regression,而后翻翻perforce,1个小时确定能搞定的事情。 可是如今花了4个多小时,白白的浪费了。 xml
痛定思痛!特总结一下fix Defect的Process (解决问题的方法论): 鉴别错误类型,首先看看这个defect是否是一个regression。若是是,确定是由于特定的 change形成的,没有平白无故的错误,死程序不说谎。那就看看从何时开始出现这个 regression的。知道了时间,那就好好翻翻change list吧。这个时候perforce,git就派上 用处了。 htm
(此次的defect,是个典型的regression,若是一开始按照这个方法找思路,确定能节省很 多时间)。 blog
若是不是regression,那就先想一想可能形成这个defect的缘由。可能的缘由应该有种种,都 须要本身一一假设,并一一排除。
p.s. 对本身的环境要有信心。
Post by: Jalen Wang (转载请注明出处)