SE08-编码.ppt_第1页
SE08-编码.ppt_第2页
SE08-编码.ppt_第3页
SE08-编码.ppt_第4页
SE08-编码.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

7 1程序设计语言 7 2程序设计风格 7 3编码工具 7 4程序效率及编程安全 第七章编码 7 1程序设计语言 7 1 1程序设计语言的分类 7 1 2程序设计语言的特点 7 1 3程序设计语言的选择 7 1 1程序设计语言的分类 大体上 程序设计语言分为以下几类 1 机器语言 2 汇编语言 3 高级语言 由于高级语言种类繁多 我们可以从应用特点 语言内在特点和对客观系统的描述三个不同的角度来对高级语言进行分类 1 基础语言 例 FORTRAN BASIC COBOL和ALGOL 2 结构化语言 例 ALGOL PL 1 PASCAL C Ada 3 专用语言 例 APL LISP PROLOG BLISS FORTH 1 从应用特点的角度来分 1 系统实现语言 例 C语言 2 静态高级语言 例 FORTRAN COBOL 3 块结构高级语言 例 PASCAL ALGOL 4 动态高级语言 2 从语言内在特点的角度来分 2 面向对象语言对象 消息 1 面向过程语言数据结构 算法 3 从描述客观系统的角度来分 例 Delphi VisualBasic JAVA C 7 1 2程序设计语言的特点 1 名字说明2 类型说明3 选择控制结构4 循环控制结构5 程序对象的局部性6 变量的局部共享7 异常处理8 独立编译 7 1 3程序设计语言的选择 一般情况下 我们采用高级语言来编程 选择具体高级语言类型的原则 1 系统的应用领域 2 用户的要求 3 软件的执行环境 4 目标系统的性能要求 5 程序员的知识水平 6 软件的可移植性要求 7 2程序设计风格 7 2 1程序内部的文档 7 2 2数据说明 7 2 3语句构造 7 2 4输入 输出 7 2 5效率 程序内部的文档包括 恰当的标识符 变量和标号 的名字 适当的注释 程序的视觉组织 7 2 1程序内部的文档 标识符包括模块名 变量名 常量名 标号名 子程序名以及数据区名 缓冲区名等 这些名字的选取应含义鲜明 能正确地提示程序对象所代表的实体 这对于帮助阅读者理解程序是很重要的 例如 表示次数用times 表示总量用total等 名字的长度不应限制 但也不宜过长 太长了容易出错 应选择精炼且意义明确的名字 这样才能简化程序语句 改善对程序功能的理解 如果名字使用缩写 那么缩写规则应该一致 并且应该给每个名字加上注解 以方便阅读 1 标识符的命名 程序的注释分为两种 序言性注释和功能性注释 2 程序的注释 序言性注释通常安排在每个程序模块的起始部分 它是对程序的整体说明 对于理解程序本身具有引导作用 其格式如下 有关本模块功能说明 主要算法 接口描述 包括调用形式 参数描述以及子模块清单 有关数据描述 包括重要的变量及其用途 约束或限制条件 以及其它有关信息 模块位置 在哪一个源文件中 或隶属于哪一个软件包 开发简历 包括模块设计者姓名 复审人姓名 复审日期 修改日期及有关说明等 功能性注释嵌入在源程序体内 用以描述其后的语句或程序段的处理功能 书写功能性注释 要注意以下几点 描述的对象是一段程序 而不是每一个语句 适当使用缩进和空行 使程序与注释容易区别 注释一定要准确 不精确的甚至是错误的注释不仅对理解程序毫无帮助 反而会妨碍对程序的理解 程序中代码的布局对于程序的可读性也有很大影响 适当的利用空格 空行和移行能使程序的逻辑结构更加清晰 空格的合理应用还可以突出运算的优先性 避免发生运算的错误 3 程序的视觉组织 为了使数据更容易理解和维护 应遵循一些简单的原则 1 数据说明的次序应当规范化 2 当多个变量名在一个语句中说明时 应该按字母顺序排列这些变量 3 如果设计时使用了一个复杂的数据结构 则应注解说明用程序设计语言实现这个数据结构的方法和特点 7 2 2数据说明 语句构造应遵循的原则是 每条语句应该简单而直接 不应为了片面追求效率而使代码变得过于复杂 7 2 3语句构造 人们在长期的实践中总结了以下一些规则 不要为了节省空间而把多个语句写在同一行 用空格或可读的符号使语句的内容更加清晰 尽量避免复杂的条件测试 尽量避免使用 非 条件的条件语句 避免过多使用循环嵌套和条件嵌套 利用括号使逻辑表达式或算术表达式的运算次序清晰直观 尽可能使用库函数 让编译程序作简单的优化 在设计和程序编码时 应考虑输入和输出风格原则 对所有输入数据都进行校验 以保证每个数据的有效性 检查重要的输入项组合的合法性 使得输入的步骤和操作尽可能简单 并保持简单的输入格式 输入一批数据时 使用输入结束指示符 不要要求用户说明输入项数 在以交互式输入 输出方式进行输入时 要指明可以使用的选择值或界限值 应允许缺省值 当程序设计语言对输入 输出格式有严格要求时 应保持输入格式与输入语句的要求一致 给所有的输出加注释 并设计输出报表格式 7 2 4输入 输出 通常 效率主要指占用处理机时间和主存区域两个方面 好的编码可以提高效率 在我们进一步讨论这个问题之前 应该记住三条原则 第一 效率是一个性能要求 因而应该在需求分析阶段确定代码效率方面的要求 第二 通过好的设计可以提高效率 第三 程序的效率和程序的简明程度是一致的 不应该为了提高代码效率而牺牲程序的清晰性和可读性 7 2 5效率 在把详细设计结果用代码来实现时要注意一些原则 在编码之前 先化简算术表达式和逻辑表达式 特别注意嵌套的循环 以确定是否有语句可以从循环内层移到循环外层 尽量避免使用多维数组和复杂的表格 尽量使用执行时间短的算术运算 尽量避免混合使用不同数据类型的量 尽量使用整型算术表达式和逻辑表达式 有些编译程序具有自动优化的功能 在强调效率的应用领域 尽量使用有这样的编译程序 以自动生成高效的目标代码 1 代码效率 主存储器的容量曾经很大程度上制约了程序的效率 目前 在大型计算机中 由于操作系统页式调度的特点 一般来说 代码局部性和通过结构化构造来维护功能是提高效率的有效方法 在微处理机中 如果能利用的存储容量很小 就要考虑高级语言的编译程序在存储压缩方面的功能 有时则必须选择使用汇编语言 2 存储效率 从编码的角度来看 人们总结了一些简单的指导原则来提高输入 输出的效率 所有的输入 输出都应该有缓冲 以降低用于通信的开销 对辅助存储器 如磁盘 的访问 应选用最简单最直接的方式 涉及到辅助存储器的输入 输出时 应该以块为单位进行传送 这些指导原则适用于软件工程的设计和编码两个阶段 3 输入 输出的效率 为了提高编码的效率 保证程序的可靠性 我们经常使用一些编码工具 首先要用的当然是编辑工具了 选用合适的编辑工具可以大大方便编程 提高效率 编译程序的好坏也会影响编码的效率 一方面 好的编译程序应该是程序员的好助手 能够帮助程序员及时准确地诊断出程序中的差错 减少程序开发的成本 另一方面 编译程序还应该能够生成高效率的机器代码 也就是代码优化 7 3编码工具 现在的软件系统往往是集体开发 一个大的软件系统往往包含许多模块 这些不同的模块可能分散在几个不同的文件或库里 为了得到最终的可执行代码 必须先将各个模块进行分别编译 然后再进行连接 由于模块的数量很多 而且这些模块往往都是相互影响和制约的 如果某个模块的源代码改变了 那么受此模块影响的所有其它模块都必须进行再编译 再连接 我们可以借助一些工具

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论