给软件治病

如果开发人员是医生,开发出来的软件是病人,bug是病菌
“软件怎么能成为病人呢?有病菌存在的软件,并且病菌会偶尔或者经常发作,那么这样的软件就可以称为病人吧。以如此的标准,除非hello world, 所有的软件都可以成为有病的软件了,借喻:病人”
如何给软件治病:就是查bug,消灭bug。
   1)常见的改bug方式属于头痛医头,脚痛医脚的方式,治标不治本。这一段时间头不痛了,但是过上一段时间,由于受到一些刺激,头痛的病可能又犯了。表现在一个bug好像被改正了,不会再出现了。但是并没有考虑到可能引起这个bug的各种情况,如果负载增加,运行时间变长,或者运行的环境改变,这个bug又会出现。更没有去寻找和这个bug相关的或者类似的bug,问题并没有彻底解决。如果增加新的模块,还会有类似的bug出现。。

   2)还有更差的方式,就是不但头没有医好,而且还引发了其他的病痛。头更痛了,而且脚也出了问题。这就是我们常见的,改bug的时候,结果引入了新的bug.改bug的时候,直接拷贝粘贴,结果把病毒也带来了。或者某个全局变量没有搞清楚,改写了以后影响了其他的模块,或者某个文件取错了版本,这真是一件痛苦的事情.越改越问题越多.越改越烦,最后就是彻底放弃了。

   3)还有更痛苦的事情就是,把病人的需要搞错了,本来是头痛,结果头痛当脚痛来治。这就叫花钱买罪受,越治越差!只能说需求分析太重要了,和用户的沟通太重要了!要避免这种情况,就要和用户有很好的沟通,并且经常询问,调查用户的反应,及时得到用户的反馈。关于需求的话题以后有机会再详细展开讨论。


   4) 最好的情况就是,标本兼治:找到头痛的根本原因,不仅仅把头痛的毛病彻底医好了,而且在治病的同时还增强了身体的抵抗力,或者顺便把脚痛也医好了。

  
  如何避免第二种情况,如何做到第四种情况?
  第一个药方是:组织对bug修改进行review+单元测试
       对bug修改进行review其实就是一个局部的有针对性地复查,比如做个CT之类。
       “单元测试可能不能用在人身上,难道可以在人身上打个桩?或许这是医学事业的伟大发明也不一定哦!”

  第二个药方式:在改bug的同时进行重构+review+单元测试
       重构就是增强身体免疫力,例如组织再生,加强锻炼,注意饮食,使得身体的营养成分更加均衡。

  第三个药方是:code review+重构+单元测试
       code review就好像是一年一度的全身性的体检,如果身体健康状况不是很理想,那么一年两次体检也未尝不可。考驾照,换工作,都要体检呢!尽早查出问题,尽早治疗,花钱少,效果好。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值