Posts

Showing posts from April, 2007

[NOTE]Writing Solid Code(1)

本书是彪哥推荐数目列表中的第一本,作者是微软的一位开发人员--Maguire,本书他根据自己多年的开发经验总结出的一系列避免bug的指导原则,网上也有不少人推荐。找这本书真是费了牛劲了,可能是年代过于久远吧,还好功夫不负有心人,在“搜狗(http://www.sogou.com/)”上搜索"Writing%20Solid%20Code"就能搜索到了。 言归正传,本书开篇的目录结构介绍了零代码原则所涉及到的几个方面:编译器纠错,调试代码,集成测试,单步调试,接口定义,Trade-Off,态度。现大致有个了解,接着是另一位微软开发人员写的序,以及作者的自序,序言简述了本书的写作背景,和写作目的:如何使开发人员实现零错误代码。 从80年代起,各大软件公司就已经开始出现bug失控的现象,有些项目甚至由于bug数量雪崩式增长而不得不被放弃。在经历了一系列的失败后,高管们终于达成一致:查找bug的责任应该由开发和测试共同承担。因为仅测试人员负责发现bug,那么,有60%的bug是发现不了的;仅开发人员负责修改bug,那么,40%的bug是发现不了的;加入由开发和测试同时负责,那么,只有不到4%的bug是发现不了的,而这4%的Bug又完全可以在公测阶段被指出来。在开发和测试共同负责的同时,开发人员要担负起主要的责任,他们必须保证自己提交出去的代码是“Bug-Free”的。 本书的作者就是为了能够给开发人员一个指导原则,第一章开篇,作者就提出了两个问题: 1. How could I have automatically detected this bug? 2. How could I have prevented this bug? 每一个开发人员对待自己的bug,都要认真的想一想这两个问题,我猜这也是本书的基本原则所在。 另外,作者还强调:不要盲从迷信,任何指导性的原则都是针对性的,请在实际情况具体分析。这种说法很辨证,其实按照“条例”或者惯例做事是一种偷懒的做法,任何情况都要经过大脑分析才行。