一旦进入软件开发的生命周期,bug就不可避免地随之而来。关于是在软件开发生命周期的早期还是后期——实施和发布后去修复bug的问题上,产生过许多激烈的讨论。软件开发人员总体认为早期修复bug是最优的策略。
无论是在哪个发展阶段,修复bug都非常耗时,而且置之不理会产生一定的成本。越到后期去修复bug,出现的问题可能就越发严重。原因如下。
1.节约时间
之所以要早点追查和修复bug最大的原因是小问题会随着时间的推延逐渐演变成大问题,然后修复所需时间就会大大增加。通常情况下,修复一个bug可以避免其以后成为一个更为复杂的大问题。
越早修复bug,开发人员所需要的时间就越少。对于刚写完的代码,开发者很容易找到bug的根源,而要从数月前写得代码中寻找影响产品运行的bug则要花更多的时间。在开发过程中,时间就是金钱。
2.bug越多,修复难度就越大
Bug会相互叠加,所以如果在它们刚出现的时候不及时修复的话,那么后面就会越来越多,越来越难。而且面对复合bug追踪其问题的起源就会更难。假设你手上有一份关于系统的bug报告,如果只有一个bug,那么追查起来显然很简单,但要是有很多bug的话,那就费时费力了,因为在这过程中,你还得逐步排除其他错误的干扰,这和这篇文章的观点类似。
3.定下基调
为开发团队定下重视代码质量的基调。此外,已知bug可使得团队成员心情沮丧,因为他们总是不得不重复性地针对一些小问题去执行内部解决方案。
4.满是bug的产品会影响声誉
如果你在向最终用户展示自己的产品时,不能保证已做到尽可能少的错误,那么很有可能会威胁到你的声誉。如果你拿不出正确的异常处理,那么客户将再也不愿意体验正常的程序运行,而这很有可能会贬低产品的整体体验。语言传播的力量是巨大的,到时候这款满是bug的软件不但会销量锐减,甚至还会影响客户对你下一个产品的信心。
解决方案
错误监测、捕捉bug、搜索日志和清理bug是需要时间的,可能客户会对此焦急和不满。这也是为什么很多人会选择在问题出现在用户端之前就尽快追踪和解决掉bug。
Airbrake就挺不错的。它可以监测详细的堆栈跟踪信息、欺骗检测、部署跟踪和记录日志。另外它还提供一个跟踪异常信息的操作面板,这意味着bug会在几秒钟之内解决。
如何更好地修复bug,请阅读修复bug的12个关键步骤。
有这些智能软件的帮助,你还等什么呢。早点发现和修复bug,那么我们就能将更多的时间放到开发上去,开发出更好更优秀的产品。