正在加载图片...
作者观点:如果开发软件的目的是为了学习或是研究,那么应该设计一种更快的算法。如果 该软件已经用于商业,则需谨慎考虑:若换一台更快的计算机能解决问题,则是最快的解决 方案。改进算法虽然可以从根本上提高软件的运行速度,但可能引入错误以及延误进程。技 术狂毫无疑问会选择后者,因为他们觉得放弃任何可以优化的机会就等于犯罪 类似的争议还有:是买现成的程序,还是彻底自己开发?技术人员和商业人士常常会有 不同的选择。 争议之二:有最好的软件工程方法,最好的编程语言吗? 作者观点:在软件领域永远没有最好的,只有更好的。能解决问题的都是好方法或是好语言。 程序员在最初学习 Basic、 Fortran、 Pascal、C、C艹等语言时会感觉一个比一个好,不免有 喜新厌旧之举。而如今的 Visual basic、 Delphi、 isual c+、Java等语言各有所长,真的难 分优劣。开发人员应该根据客观条件,选择自己熟悉的方法和语言,才能保证合格的质量与 生产率 程序设计是自由与快乐的事情,不要发誓忠于某某主义而自寻烦恼。 争议之三:编程时是否应该多使用技巧? 作者观点:就软件开发而言,技巧的优点在于能另辟蹊径地解决一些问题,缺点是技巧并不 为人熟知。若在程序中用太多的技巧,可能会留下隐患,别人也难以理解程序。鉴于一个局 部的优点对整个系统而言是微不足道的,而一个错误则可能是致命的。作者建议用自然的方 式编程,少用技巧。 《狼三则》的故事告诉我们“失败的技巧通常是技俩”。当我们在编程时无法判断是用 了技巧还是用了技俩,那就少用。《卖油翁》的故事又告诉我们“熟能生巧”,表明技巧是自 然而然产生的,而不是卖弄出来的。卖油翁的绝技是可到中央电视台表演的,而他老人家却 谦虚地说:“没啥没啥,用熟了而已” 争议之四:软件中的错误是否可按严重程度分等级? 作者观点:在定量分析时,可以将错误分等级,以便于管理。微软的一些开发小组将错误分 成四个等级 Cusumano19,如表1.1所示。 级严重:错误导致软件崩溃。 级严重:错误导致一个特性不能运行并且没有替代方案。 三级严重:错误导致一个特性不能运行但有替代方案。 「四级严重:错误是表面化的或是微小的。 表1.1错误的四个等级 上述分类是非常技术性的,并不是普适的。假设某个财务软件有两个错误:错误A使 该软件死掉,错误B导致工资计算错误。按表1.1分类,错误A属一级严重,错误B属 级严重。但事实上B要比A严重。工资算多了或者算少了,将会使老板或员工遭受经济损 失。而错误A只使操作员感到厌烦,并没有造成经济损失。另一个示例是操作手册写错 按表1.1分类则属四级严重,但这种错误可能导致机毁人亡 开发人员应该意识到:所有的错误都是严重的,不存在微不足道的错误。这样才能少犯 错误。作者观点:如果开发软件的目的是为了学习或是研究,那么应该设计一种更快的算法。如果 该软件已经用于商业,则需谨慎考虑:若换一台更快的计算机能解决问题,则是最快的解决 方案。改进算法虽然可以从根本上提高软件的运行速度,但可能引入错误以及延误进程。技 术狂毫无疑问会选择后者,因为他们觉得放弃任何可以优化的机会就等于犯罪。 类似的争议还有:是买现成的程序,还是彻底自己开发?技术人员和商业人士常常会有 不同的选择。 争议之二:有最好的软件工程方法,最好的编程语言吗? 作者观点:在软件领域永远没有最好的,只有更好的。能解决问题的都是好方法或是好语言。 程序员在最初学习 Basic、Fortran、 Pascal、C、C++等语言时会感觉一个比一个好,不免有 喜新厌旧之举。而如今的 Visual Basic、Delphi、Visual C++、Java 等语言各有所长,真的难 分优劣。开发人员应该根据客观条件,选择自己熟悉的方法和语言,才能保证合格的质量与 生产率。 程序设计是自由与快乐的事情,不要发誓忠于某某主义而自寻烦恼。 争议之三:编程时是否应该多使用技巧? 作者观点:就软件开发而言,技巧的优点在于能另辟蹊径地解决一些问题,缺点是技巧并不 为人熟知。若在程序中用太多的技巧,可能会留下隐患,别人也难以理解程序。鉴于一个局 部的优点对整个系统而言是微不足道的,而一个错误则可能是致命的。作者建议用自然的方 式编程,少用技巧。 《狼三则》的故事告诉我们“失败的技巧通常是技俩”。当我们在编程时无法判断是用 了技巧还是用了技俩,那就少用。《卖油翁》的故事又告诉我们“熟能生巧”,表明技巧是自 然而然产生的,而不是卖弄出来的。卖油翁的绝技是可到中央电视台表演的,而他老人家却 谦虚地说:“没啥没啥,用熟了而已”。 争议之四:软件中的错误是否可按严重程度分等级? 作者观点:在定量分析时,可以将错误分等级,以便于管理。微软的一些开发小组将错误分 成四个等级 [Cusumano 1996],如表 1.1 所示。 一级严重:错误导致软件崩溃。 二级严重:错误导致一个特性不能运行并且没有替代方案。 三级严重:错误导致一个特性不能运行但有替代方案。 四级严重:错误是表面化的或是微小的。 表 1.1 错误的四个等级 上述分类是非常技术性的,并不是普适的。假设某个财务软件有两个错误:错误 A 使 该软件死掉,错误 B 导致工资计算错误。按表 1.1 分类,错误 A 属一级严重,错误 B 属二 级严重。但事实上 B 要比 A 严重。工资算多了或者算少了,将会使老板或员工遭受经济损 失。而错误 A 只使操作员感到厌烦,并没有造成经济损失。另一个示例是操作手册写错, 按表 1.1 分类则属四级严重,但这种错误可能导致机毁人亡。 开发人员应该意识到:所有的错误都是严重的,不存在微不足道的错误。这样才能少犯 错误
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有