正在加载图片...
对转换产生重大影响。程序员总是希望选择简单易学、使用方便的语言,以减少程序出错率, 提高软件可靠性。从心理学的观点,影响程序员心理的语言特性有如下六种: 一致性:它表示一种语言所使用符号的兼容程度、允许随意规定限制、以及允许对 法或语义破例的程度。同是一个符号,给予多种用途,会引起许多难以察觉的错误 二义性:虽然语言的编译程序总是以一种机械的规则来解释语句,但读者则可能用 不同的方式来理解语句。例如,对于一个逻辑表达式A≥“0”andA≤“9”,读者可能对 这个逻辑表达式有不同的理解 如果一个程序设计语言缺乏一致性和存在二义性,那么用这种语言编写出来的程序可读 性就差,同时用这种语言编程也容易出错 简洁性(紧凑性):表示程序员为了用该语言编写程序,必须记忆的有关编码的信息 量。可用语言支持块结构和结构化程序的能力、可使用的保留字和缩写字的种类、数据类型 的种类和缺省说明、算术运算符和逻辑运算符的种类、系统内标准函数的数目等来衡量 遗憾的是,语言的简洁性与程序的一致性常常是抵触的。 局部性:指程序设计语言的联想(综合)特性。综合的特性使人们能够对事物从整 体上进行记忆和识别。在编码过程中,由语句组合成模块,由模块组装为程序体系结构,并 在组装过程中实现模块的高内聚和低耦合,可使程序的局部性加强 线性:指程序的联想(顺序)特性。人们总是习惯于按逻辑线性序列理解程序。如 果程序中线性序列和逻辑运算较多,会提高可读性。如果存在大量的分支和循环,就会破坏 顺序状态,增加理解上的困难。直接实现结构化程序可提高程序的线性特性 传统:人们学习一种新的程序设计语言的能力受到传统的影响。具有 Pascal基础的 程序人员在学习C语言时不会感到困难,因为C保持了 Pasca所确立的传统语言特性。但是 要求同一个人去学习APL或者LISP这样一些语言,传统就中断了。 ②软件工程的观点 从软件工程观点,程序设计语言的特性应着重考虑软件开发项目的需要。为此,对于程 序编码,有如下一些工程上的性能要求 ■详细设计应能直接地容易地翻译成代码程序:把设计变为程序的难易程度,反映了 程序设计语言与设计说明相接近的程度。所选择的程序设计语言是否具有结构化的构造,复 杂的数据结构,专门的输入/输出能力,位运算和串处理的能力,直接影响到从详细设计变 换到代码程序的难易程度,以及特定软件开发项目的可实现性。 源程序应具有可移植性:源程序的可移植性通常有三种解释:①对源程序不做修改 或少做修改就可以实现处理机上的移植或编译程序上的移植:②即使程序的运行环境改变 (例如,改用一个新版本的操作系统),源程序也不用改变:③源程序的许多模块可以不做 修改或少做修改就能集成为功能性的各种软件包,以适应不同的需要。 为改善软件的可移植性,主要是使语言标准化。在开发软件时,应严格地遵守ISO或 ANSI、GB的标准,而不要去理会特定编译器提供的非标准特性 编译程序应具有较高的效率 尽可能应用代码生成的自动工具:有效的软件开发工具是缩短编码时间,改善源代 码质量的关键因素。使用带有各种有效的自动化工具的“软件开发环境”,支持从设计到源代 码的翻译等各项工作,可以保证软件开发获得成功。 可维护性:源程序的可读性,语言自身的文档化特性(涉及标识符的允许长度、标 号命名、数据类型的丰富程度、控制结构的规定等)是影响到可维护性的重要因素。 ③程序设计语言的技术性能 在计划阶段,极少考虑程序语言的技术特性。但在选定资源时,要规划将要使用的支撑 工具,就要确定一个具体的编译器或者确定一个程序设计环境。如果软件开发组的成员对所8 对转换产生重大影响。程序员总是希望选择简单易学、使用方便的语言,以减少程序出错率, 提高软件可靠性。从心理学的观点,影响程序员心理的语言特性有如下六种: ▪ 一致性 :它表示一种语言所使用符号的兼容程度、允许随意规定限制、以及允许对 语法或语义破例的程度。同是一个符号,给予多种用途,会引起许多难以察觉的错误。 ▪ 二义性 :虽然语言的编译程序总是以一种机械的规则来解释语句,但读者则可能用 不同的方式来理解语句。例如,对于一个逻辑表达式 A ≥“0”and A ≤“9”,读者可能对 这个逻辑表达式有不同的理解。 如果一个程序设计语言缺乏一致性和存在二义性,那么用这种语言编写出来的程序可读 性就差,同时用这种语言编程也容易出错。 ▪ 简洁性(紧凑性):表示程序员为了用该语言编写程序,必须记忆的有关编码的信息 量。可用语言支持块结构和结构化程序的能力、可使用的保留字和缩写字的种类、数据类型 的种类和缺省说明、算术运算符和逻辑运算符的种类、系统内标准函数的数目等来衡量。 遗憾的是,语言的简洁性与程序的一致性常常是抵触的。 ▪ 局部性 :指程序设计语言的联想(综合)特性。综合的特性使人们能够对事物从整 体上进行记忆和识别。在编码过程中,由语句组合成模块,由模块组装为程序体系结构,并 在组装过程中实现模块的高内聚和低耦合,可使程序的局部性加强。 ▪ 线性 :指程序的联想(顺序)特性。人们总是习惯于按逻辑线性序列理解程序。如 果程序中线性序列和逻辑运算较多,会提高可读性。如果存在大量的分支和循环,就会破坏 顺序状态,增加理解上的困难。直接实现结构化程序可提高程序的线性特性。 ▪ 传统 :人们学习一种新的程序设计语言的能力受到传统的影响。具有 Pascal 基础的 程序人员在学习 C 语言时不会感到困难,因为 C 保持了 Pascal 所确立的传统语言特性。但是 要求同一个人去学习 APL 或者 LISP 这样一些语言,传统就中断了。 ② 软件工程的观点 从软件工程观点,程序设计语言的特性应着重考虑软件开发项目的需要。为此,对于程 序编码,有如下一些工程上的性能要求: ▪ 详细设计应能直接地容易地翻译成代码程序 :把设计变为程序的难易程度,反映了 程序设计语言与设计说明相接近的程度。所选择的程序设计语言是否具有结构化的构造,复 杂的数据结构,专门的输入/输出能力,位运算和串处理的能力,直接影响到从详细设计变 换到代码程序的难易程度,以及特定软件开发项目的可实现性。 ▪ 源程序应具有可移植性 :源程序的可移植性通常有三种解释:① 对源程序不做修改 或少做修改就可以实现处理机上的移植或编译程序上的移植;② 即使程序的运行环境改变 (例如,改用一个新版本的操作系统),源程序也不用改变;③ 源程序的许多模块可以不做 修改或少做修改就能集成为功能性的各种软件包,以适应不同的需要。 为改善软件的可移植性,主要是使语言标准化。在开发软件时,应严格地遵守 ISO 或 ANSI、GB 的标准,而不要去理会特定编译器提供的非标准特性。 ▪ 编译程序应具有较高的效率。 ▪ 尽可能应用代码生成的自动工具 :有效的软件开发工具是缩短编码时间,改善源代 码质量的关键因素。使用带有各种有效的自动化工具的“软件开发环境”,支持从设计到源代 码的翻译等各项工作,可以保证软件开发获得成功。 ▪ 可维护性 :源程序的可读性,语言自身的文档化特性(涉及标识符的允许长度、标 号命名、数据类型的丰富程度、控制结构的规定等)是影响到可维护性的重要因素。 ③ 程序设计语言的技术性能 在计划阶段,极少考虑程序语言的技术特性。但在选定资源时,要规划将要使用的支撑 工具,就要确定一个具体的编译器或者确定一个程序设计环境。如果软件开发组的成员对所
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有