|
序<br/>1986 年,在为几家小公司咨询和工作了10 年之后为了获得编写Macintosh 应用程序<br/>的经验,我特意到Microsoft 公司工作,参加了Macintosh 开发小组。这个小组负责<br/>Microsoft 的图形电子表格应用程序的开发。<br/>当时,我还不能肯定想象的代码是什么样子的,我想也许应该既引入入胜又雅致吧!<br/>但我看到的代码却很平常,与我以往见到的其它代码没有什么不同。要知道,Excel 有一<br/>个相当漂亮的用户界面 ─── 它比当时其它基于字符的电子表格软件更容易使用,更加<br/>直观。但使我感受更深的是产品中包含的一个多功能调试系统。<br/>该系统旨在自动地问程序员和测试者进行错误报警。其工作方式非常象波音747 驾驶<br/>仓内向驾驶员报告故障的报警灯。该调试系统主要用来对代码进行监视,它并不过多地对<br/>代码进行测试。虽然现在该调试系统采用的概念已不再新鲜了,但当时它们的广泛使用程<br/>度以及该系统有效的查错能力还是吸引了我,使我深受启发。没过多久,我就发现<br/>Microsoft 的大部分项目都有多功能的内部调试系统,而Microsoft 的程序员都高度重视<br/>代码中的错误及其产生原因。<br/>在做了两年Macintosh Excel 之后,我离开了该开发小组,去帮助另一个代码错误数<br/>目超常的小组。在开发Excel 的两年中,我发现Microsoft 虽然壮大了两倍,但许多老项<br/>目组熟知的概念并没有随着公司的壮大而传到新项目组。新程序员不象我加入Microsoft<br/>之前时的老程序员一样对容易引起错误的编码习惯特别重视,而只有一般的注意。<br/>在我转到新项目组六个月之后,有一次我对一个程序员伙伴提到:“应该把编写无错<br/>代码的某些概念写成文字,使那些原理能在新项目组传开”。这时另一位程序员对我说:<br/>“你不要总是想着写文档,为什么你不把这一切都写下来?为什么你不写本书,问问<br/>Microsoft 出版社是否愿意出版呢?毕竟这些信息不是谁的专利,其作用不过是为了使程<br/>序员更加重视错误。”<br/>当时我对这个建议并没有多想,主要原因是没有时间,而且以前我也没有写过书。以<br/>前我所做过与写书最有关系的事情,不过是在80 年代初协助别人主办Hi-Res 杂志的程序<br/>设计专栏,这与写书毕竟不是一回事。<br/>正如您所见到的,这本书还是写出来了。理由很简单:1990 年,由于错误越来越多,<br/>Microsoft 取消了一个尚未公布的产品。现在,错误越来越多已经不是什么新鲜事情,<br/>Microsoft 的几个竞争者都因此取消过一些项目。但Microsoft 因为这种原因取消项目,<br/>还是头一次。最近,随着接连不断地出现产品错误。管理人员终于开始叫嚷“受不了<br/>编写优化、高效、无错地代码 4<br/>啦”,并采取了一系列的措施企图将错误率下降到原先的水平。尽管如此,仍然没有人将<br/>这些错误因由记录下来。<br/>现在,Microsoft 已经比我刚进公司时大了九倍。很难设想,倘若没有准确的指南,公司<br/>怎样才能将出错率降低到原来的水平。尤其是在Windows 和Macintosh 的应用越来越复杂<br/>的情况下,更是如此。<br/>以上就是我最终决定写这本书的原因<br/>Microsoft 出版社已经同意出版这本书。<br/>情况就是这样。<br/>我希望您会喜欢这本书,我力图使本书不那么枯燥并尽量有趣。<br/>Steve Maguire<br/>西雅图,华盛顿<br/>1992.10.22
20E75IBO.pdf
(783.6 KB, 下载次数: 444)
<br/> |
|