名言篇
- 有能力的程序员会充分地认识到自己的大脑容量是多么地有限;所以,他会谦卑地处理编程任务。(Edsger Dijkstra)
现象篇
- 错误越早引入到软件当中,问题就会越复杂,修正这个错误的代码也更高,因为错误会牵涉到系统的更多部分。
- 绝大多数项目的最大规模的一种活动就是调试以及修正那些无法正常工作的代码。
- 需求中的一个缺陷会孕育出设计上的一个或多个缺陷,而这些设计错误又会繁殖出更多的代码缺陷。需求中的一个错误会导致多余的代码、测试用例和文档,一个需求上的错误可能产生最终不得不抛弃的架构、代码以及测试用例。相对于编码阶段的错误,需求或架构上的错误往往会产生更为广泛的影响。单个架构错误可以影响多个类以及几十个子程序,而单个构造错误的杀伤范围则不会超过一个子程序或者类。
结论篇
- 缺陷最少的软件项目的开发计划时间最短,并拥有最高的开发生产率……消除软件缺陷实际上是最昂贵且最耗时的一种软件工作。
- 1985年有人进行了一项研究,要求166个专业程序员根据相同的规范来写程序,他们写出来的程序平均有220行代码,每个人平均花费时间略少于5小时,那些花费时间不多不少的程序员编写的程序错误最多,而那些花费时间较多或较少的程序员编写的程序所含错误则明显要少得多。
- 开发高质量的代码最终并没有要求你付出更多。
- 错误发现越早,它与其余代码的纠缠就越少,由此造成的损失也越小。
未完待续中