读《代码大全2》之软件质量的普遍原理

 软件质量的普遍原理(The General Principle of Software Quality)
       软件质量的普遍原理就是改善质量以降低开发成本。软件质量的好坏并不时和所耗费的时间成正比,而开发成本基本和时间成正比。提高生产效率和改善质量的最佳途径就是减少花在代码返工上的时间,无论返工的代码是有需求、设计改变还是调试引起的。就像盖房子一样,越早发现错误并改正,耗费时间越少,要是等房子盖好了才发现,很可能是个危楼,要炸掉重盖。软件产品的业界平均生产效率大约是每人每天10到50行最终交付代码(包括所有非编码开支)。很多人可能会觉得这真是太少了,我看到这也这样认为。

       之所以会这样部分原因是业界平均值要把非程序员所花费的时间也纳入里面。测试人员、项目经理、行政支持等都要包括。这些都不足以耗费如此多的时间。想想自己编程的时候什么最花时间,应该是调试及修正那些无法正常工作的BUG。回想起自己写程序所花的时间,调试和改正BUG确实耗费了很多时间。如果开始的结构不合理,即便改正了BUG,软件也是一次性用品,没有升级扩展的余地,不如重新写。

       只要避免引入错误,就可以减少调试时间,从而提高生产力。因此,效果最明显的缩短开发周期的办法就是改善产品的质量,由此减少花费在调试和软件返工上面的时间总量。NASA软件工程实验室在分析了总计400人年工作量的50个开发项目的300万行代码后发现,更多的质量保证工作能降低错误率,但不会增加开发的总成本。想想我们写程序的时有什么好的质量保证的方法吗?我们确实还很落后,只知道怎么做,不知道怎么高效的做,怎么提高生产率。

        在最小尺度上这一结论同样正确。1985年有人进行了一项研究,要求166个专业程序员根据相同的规范来写程序,他们写出来的程序平均有220行代码,每个人平均花费时间略少于5小时。令人惊奇的是,那些花费时间不多不少的程序员编写的程序错误最多,而那些花费时间较多或较少的程序员编写的程序所含的错误明显少得多。最慢的2个小组花费的时间大约是最快的小组的5倍,缺陷率却不想上下。因此,编写五缺陷的软件并不一定会比编写富含缺陷的软件花更多的时间。老外也许并不比我们聪明,但他们很会管理,很会总结。这些是天生的吗?不是,我认为是长时间的市场经济,长时间的竞争形成的。他们需要不断的提高生产率,降低成本,否则会被淘汰。而我们的改革开放才30年,市场竞争还不充分,也至于干有些事情不计成本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值