最近的几天一直在修bug,修自己的BUG,接二连三的bug.
最近做的三个story全都出现了BUG,有的修完了再测的时候又出现了新的bug.
在xp中,我觉得是应该想想这一个星期到底发生了什么了
首先,项目进入了后期阶段,我们做的story与之前曾经做过的一些story多少有一些相似之处,思想上难免有所放松.想着无非照着葫芦画瓢.所以不管是单元测试还是功能测试,都参照着以前相似的story,拿来把数据和mock改一改,直接用就可以了.这里,我们实际上已经失去了测试的保护.
这些测试没有错,但只是覆盖到了happy path和一些基本的错误,而对story所特有的一些场景都没有完全照顾到.基于这样的测试所做的实现可想而知.
我们大概一个星期没有换pair了,我认为和我的同事之间已经培养出了一定的信任,在某个方面,我认为这影响到了我们代码的质量.我想我们在pair时没有足够的警惕和足够的注意力,也并没有足够的去质疑对方的想法和思路.其实这更多的是一个态度的问题,所以我们在解决完我们自己所犯下的错误之前是不会换pair的.
在其后修改bug并完善story的实现时,我们发现我们引以为傲的系统架构有些满足不了我们的需求了,我们经常会需要hack才能完成相应的功能.而在忍痛下手之后,我们发现代码的可读性急剧下降,以至于再次出现bug时,修复的时间相应会比较的长.这是一个比较棘手的问题,也是我认为目前这些bug中最为严重的问题,我们目前还没有找到比较好的解决方案.
我们犯下太多STUPID的错误,有时是单纯了忘记去做某事,有时却是在做一件事的时候把其它一些先前的成果break掉,然后再花更多的时候去弥补,甚至给其他的同事造成了不便.
我们所做的一些正则修改工具达到了查找替换字体串的目的,但却不经意间将一些于此无关的数据文件丢失,直到今天去修理由于这些数据文件丢失引起的bug时才发现.而这个工具代码提交的日期已经是两三天前了.而这个工具基本上没有任何测试代码.... 基本上要人神共忿了
总之,想想这几天bug的原因,可以有点
- 思想上的松懈
- pair时彼此过于信任
- 对story本身的认知不深刻,没有预期到困难
- 代码可读性下降
- 竟然不写测试,就算只是写一个小工具
- focus, 不知道我这几天在想什么
还好,由于我们当前的进度比较理想,我们这次还有机会去挽回,下次呢,还会有下次么?
最后,感谢我们可爱可敬的兼职QA,她从另外一个项目的dev过来帮忙,以最快的速度融入了我们的工作,又不断并且及时的找出我们代码中的问题,同时还要容忍我们犯下的愚蠢错误.我们还能对她要求更多么.