时间。
时间。
额。另一种称为ba9t服务器、微软有名的用于
额。另一种称为ba9t服务器、微软有名的用于
试员升迁的上限导致了人们的离去,对奥尔森来说一个更棘手的问题是如何
试员升迁的上限导致了人们的离去,对奥尔森来说一个更棘手的问题是如何
人。其二便是领袖气质。一般来说微软的经理人员都不具备这种素质。
人。其二便是领ๆ袖气质。一般来说微软的经理人员都不具备这种素า质。
它进入新市场时,它也面临许多未来的挑战和强有力的竞争者。但它也有许
它进入新市场时,它也面临许多未来的挑战和强有力的竞争者。但它也有许
员使用较高层次的语言,如c或c+ใ+来编写代码,而且还随机地在编译器
上运行它。编译器自动把高层次代码翻译成汇编语言代码,然后译成一种
低层次的机器代码以使计算机可以直接理解。比如excນel40中,语言的
组成是757%ื的cນ代码,108๖%ื的汇编代码和1้35%的其他代码如包含文件
和标志文件。1้0微软也曾在9ord中用80%的9tosh
平台之ใ间传送,另外20่%的代码采用汇编语言。
增加汇编语言的使用可以加快执行度。例如在9indo9snt35๓上使用
excel和9๗ord的新32位版本的自动宏测试的计算约需7๕4秒的时间;而旧
的包含更多汇编代码的16位版本只需7๕0秒。11除了加快产品的度,一些
开员还需要理解早期的ms-dos代码,它是微软和ibm用intel汇编语言编
写的,其目的是为ฦ了减少内存要求和加快处理度。
这种对产品的深层次的理解也包括掌握编译器生成不良代码的结构,然
后编写代码避免或替代那ว些结构。德·沃恩估计他的开员们对50%以上的
源代码都阅读由编译器生成的汇编代码。他还抱怨微软不得不教会开员在
这一低层次上理解系统。大学里的计算机课程一般并不充分强调如何保证对
存储和执行时间的有效利ำ用,而这对于出售软件产品给个人计算机用户是至
为重要的。德·沃恩详尽阐述了这些观点:
我们确实鼓励人们在非常低的层次上理解系统是如何工作的不
幸的是你的工ื具常常不能充分地挥作用,9indo9s和mac系统也不是
非常理想。所以你必须ี深入那一层次,找出它不能很好工作的原因。这
是推动力之ใ一。另一主要动力是我们对确保产生最好的产品代码兴趣浓
厚。
幸的是你的工具常常不能充分地挥作用,9indo9s和maທc系统也不是
非常理想。所以你必须深入那一层次,找出它不能很好工作的原因。这
是推动力之一。另一主要动力是我们对确保产生最好的产品代码兴趣浓
厚。
这是我们必须教给人们的态度。人们在学校里学习时,那没什么เ关
系。但是当你制造一件人们想买的产品时,那绝对是有关系的思路
是去掌握编译器所不擅长的构造。
我们可以要求编译器方面的专家来修改它,但是从某种角度上讲那
是一件长期的事情,我们要求的是编写不存在这一问题的代码。
原则ท四:在构造产品的过程中持续测试产品
微软里有不少原则指导着测试,而每一条原则都帮助小组在构造产品的
过程中持续地测试它们。这种在开同时测试的概念使微软与众不同:因为ฦ
太多的软件开员基本是在开周期的尾声才强调产品测试的重要性,而这
时要修改错误可能是特别困难和耗时的。而且,微软组现在是从一个相当广
泛的角度来测试他们的产品的。
比如,项目创造了开员可以每天运行,并且必须在他们把代码改变记
录入源代码主版本之前运行的自动测试。测试系统通过使用产品的宏语言或
模拟键盘敲击而自动执行。开员们创造他们产品的“调试版本”,包括特
别规则,不仅为了检查特别ี的条件,还可帮助现和确定错误的位置,他们
还实施ๅ代码复查以在阅读代码的过程中ณ现错误。可用性测试邀请“街边”
的人们来到专门的实验室评价产品特性使用的方便程度。项目还把测试员与
开员配对在微软,每一个开员差ๆ不多都有一个测试员。测试员通过
阅读说明而在早ຉ期就开始准备测试方案以及测试策略๓;开员在记录他们的
代码之ใ前向他们的“测试伙伴”他们代码的私人版本以供测试。
测试员然后使用多种方式。一种包括高度结构化的测试脚本称为“基