08-程序设计语言及编码PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
3
11.1 程序设计语言的特性及选择
1. 程序设计语言特性 • 工程特性 • 可移植性:支持重用
• 开发工具的可利用性:减少源代码的开发时 间和提高质量
• 软件的可重用性:加快开发速度,提高软件 生产率和软件质量。
• 可维护性:应便于将设计翻译成代码,语言 本身的自说明性可促进软件的可维护性
.
4
.Leabharlann Baidu
14
好的编程风格应遵循的规则
3)简单化(Simplicity) ①采用直接了当的算法,避免使用技巧性高和难懂 的代码。 ②使用简单的数据结构,避免使用多维数组、指针 和复杂的表。 ③注意对象命名的一致性。 ④以手工的方式简化算术和逻辑表达式。
.
15
好的编程风格应遵循的规则
4)结构化 ①按标准化的次序说明数据; ②按字母顺序说明对象名; ③使用读者明了的结构化程序部件; ④采用直截了当的算法; ⑤根据应用背景排列程序各个部分;
• 程序实际上也是一种供人阅读的文章,有一个 文章的风格问题。应该使程序具有良好的风格。
• 源程序文档化
• 数据说明 • 语句结构 • 输入/输出方法 • 效率
.
11
11.2 程序设计语言风格
一般的软件组织允许程序员在不影响代码的 可读性、可修改性、可测试性、可维护性的 基础上使用自己的风格编写程序。但是有些 规则则是所有程序员必须遵守的。
软件工程
.
1
第11章 程序设计语言与编码
• 以详细设计说明书为输入,将该输入用某种程 序设计语言翻译成计算机可以理解并最终可运 行的代码的过程,就是我们所说的编码。
.
2
第11章 程序设计语言与编码
• 11.1 程序设计语言的特性及选择 • 11.2 程序设计风格 • 11.3 程序设计效率 • 11.4 冗余编程
• 第四代语言(4GL)抽象层次更高,不再涉及太多 的算法性细节。目前使用最广的是数据库查询语言。
.
9
11.1 程序设计语言的特性及选择
3. 程序设计语言的选择标准 ①项目的应用领域 ②软件开发方法 ③软件开发运行环境 ④算法和数据结构的复杂性 ⑤软件开发人员的知识 ⑥用户关于性能的需求
.
10
11.2 程序设计语言风格
• 心理特性 • 歧义性:x=x1/x2*x3,引起程序员对程序理解 的混乱 • 简洁性:程序员需要记忆的信息的总量 • 局部性和顺序性:一种联想机制,直接支持结 构化构件 • 传统性:学习新的内容时比较容易受到已有内 容的影响
.
6
11.1 程序设计语言的特性及选择
2. 程序设计语言的发展和分类 • 第一代语言:与机器紧密相关的机器语言 和汇编语言,与硬件操作一一对应。 • 第二代语言: 20世纪50年代初先后出现, 应用面广。 FORTRAN——用于科学计算 COBOL——用于商业项目开发
11.1 程序设计语言的特性及选择
• 技术特性:根据项目的特点选择相应的语言,影 响到概要设计和详细设计的实现,对软件的维护 也有一定的影响。 • 将设计翻译为代码的便利程度:支持结构化构 件,复杂的数据结构,特殊I/O处理 • 配套的开发工具:CASE工具
.
5
11.1 程序设计语言的特性及选择
.
12
好的编程风格应遵循的规则
1)节简化(economy) ①不使用不必要的变量和函数 ②避免变量重名,变量重名可导致很难被发现的错误。 ③尽量减小代码量。 ④尽量减少代码的执行时间,提高执行效率。 ⑤避免功能冗余的模块。 ⑥尽量不使用全局变量。
.
13
好的编程风格应遵循的规则
2)模块化(Modularity) ①确保物理和逻辑功能密切相关。 ②限定一个模块完成一个独立的功能,提高模块的 内聚度。 ③检查代码的重复率,重复多的代码,要抽出来作 为一个单独的模块。
2. 编制易于测试的代码:运用条件编译语句尽早设 计出测试用例,采用统一的命名规则管理这些测试 用例并适时地进行回归测试等一系列措施。
3. 必须将编程与编文档的工作统一起来: 这样既有利于整个项目按期完成,又能保证文档与 程序协调一致。
.
20
编程标准
• 标识符的命名 • 符号名即标识符,包括模块名、变量名、常量名、标 号名、子程序名、 数据区名以及缓冲区名等。 • 这些名字应能反映它所代表的实际东西,应有一定实 际意义。 • 例如,表示次数的量用Times,表示总量的用Total, 表示平均值的用Average,表示和的量用Sum等。 • 名字不是越长越好,应当选择精炼的意义明确的名字。 必要时可使用缩写名字,但这时要注意缩写规则要一 致,并且要给每一个名字加注释。同时,在一个程序 中,一个变量只应用于一种用途。
.
7
11.1 程序设计语言的特性及选择
• 第三代语言: 结构化程序语言。直接支持结构化构 件,并具有很强的过程能力和数据结构能力。本身又 分为三类:
• 通用高级语言:最早的有算法语言Algol 60,以它 为基础衍生出PL/1,Pascal,Modula-2,C 和 Ada 等。这些语言被广泛地用于各种应用领域。
.
16
好的编程风格应遵循的规则
4)结构化(structure) ⑥不随意为效率而牺牲程序的清晰度和可读性; ⑦让机器多做烦琐的工作,如重复、库函数; ⑧用公共函数调用代替重复出现的表达式; ⑨避免循环、分支的嵌套层数过高; ⑩单入口单出口。
.
17
好的编程风格应遵循的规则
5)文档化(documentation) ①有效、适当地使用注释。 ②协调使用程序块注释和程序行注释。 ③保持文档和程序的同步。
.
18
好的编程风格应遵循的规则
6)格式化(layout) ①始终采用统一缩进规则; ②适当插入括号表明运算次序、排除二义性; ③有效地使用空格符以区别程序的不同意群。
.
19
编程标准
• 程序的清晰、紧凑、高效等特性在编码时往往互相 矛盾。
• 程序的编码一般应考虑下列原则:
1. 编制易于修改和维护的代码:在模块化和面向对 象详细设计的基础上,进一步按属性划分程序。
• 面向对象程序语言(OOPL)直接支持类定义、继 承、封装、和消息传递等概念,能自然地实现由 OOA/OOD给出的分析/设计模型。最有生命力的 有:C++, Objective-c, Smalltalk, Eiffel 和 Java 等。
.
8
11.1 程序设计语言的特性及选择
• 专用语言:应用面窄,语法形式独特。它针对特 殊用途设计,翻译过程简便、高效,但可以执行 和可维护性较差。如: • 应用于人工智能领域:LISP, Prolog • 应用于数组和向量运算:APL • 应用于开发微处理机软件:Forth