第五章-编码.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章-编码

RoadMap 软件工程 第五章 编码实现 本章要点 一、编码概述 二、编码方法 三、编码标准和规范 四、关于编码的一些理念 五、编码过程 六、案例分析 编码 实现设计的过程 对源程序的质量要求 软件工程项目对代码编写的要求,不仅仅体现在源程序语法的正确性上,还体现在源程序具有良好的结构性和良好的程序设计风格。 程序设计的目标在正确的前提下,其重要性的排列次序为:可读、可维护、可移植、高效! 本章要点 一、编码概述 二、编码方法 三、编码标准和规范 四、关于编码的一些理念 五、编码过程 六、案例分析 编码方法 结构化编程方法 面向对象的编程方法 结构化编程方法 控制结构 算法 数据结构 结构化程序设计的原则 使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑 选用的控制结构只允许一个入口和一个出口 程序语句组成容易识别的块,每个块只有一个入口和出口 复杂结构应该用基本控制结构进行组合嵌套来实现 语言中没有的控制结构,可用一段等价的程序断模拟,但要求改程序段在整个系统中应前后一致 严格控制Goto语句 面向对象的编程方法 面向对象的编程语言最大的特色就是可以编写自己所需的数据类型 面向对象的编程方法 类 对象 属性 方法 私有的(private) 公共的(public) 受保护(protected)的 本章要点 一、编码概述 二、编码方法 三、编码标准和规范 四、关于编码的一些理念 五、编码过程 六、案例分析 编码标准和规范 标准是建立起来和必须遵守的规则 规范是建议最佳做法,推荐更好方式。 例如 注释 变量 文件 目录 约定 …… 程序设计绝对是一门艺术,而不仅仅是一门技术。 首先程序设计的出发点是,是给别人看,可读、易理解、好维护,如果你的程序只能自己来维护,到你离开这个程序时,你程序也就与你一起离开了这个世界。 为了可读、易理解、好维护,你的程序要有好的设计,而不是一接手就进行东抄抄、西抄抄的写代码工作。 写代码是一个工程,程序设计是一种艺术;如果程序员只注重代码,那就象盖房子时的砌砖匠,只知道照图施工而已。世界那么多令人叹为观止的美丽建筑物,那是设计家的艺术杰作,而不是砌砖匠的艺术杰作。 程序设计风格 阅读程序是软件开发和维护过程的一个重要组成部分,而且读程序的时间比写程序的时间还要多。因此,编写程序应该具有良好的风格。 程序设计风格分4个方面:源程序文档化、数据说明方法、语句结构和输入输出方法。 符号名的命名 符号名即标识符,包括模块名、变量名、常量名、标号名、子程序名以及数据区名、缓冲区名等 符号名应有一定的实际意义,使其能够见名知意,有助于理解程序的功能。符号名不宜太长,必要时可以用缩写名字。 版本号的命名 变量的命名 函数的命名 函数参数命名 文件名命名 版本号的命名 Linux 下的系统开发,受到 Linux 核心编号的影响,很可能采用 主版本号.次版本号.修订号 来命名自己产品的编号。Linux 核心还有一个约定,就是 如果次版本号是偶数(如0、2、4等),代表正式版本,如果次版本号是奇数(如1、3、5等),代表的是开发过程中的测试版本。修订号则相当于 Build 号,用来标识一些小的改动。 Windows 下的开发,则可能受到资源文件中 FILEVERSION,PRODUCTVERSION 定义的启发,采用四位版本号。 骆驼表示法 骆驼表示法的第一个字母是小写的,以后的单词都是用大写开头。 例如: studentNumber 也可以写为 StudentNumber 或Student_Number 变量的命名--匈牙利命名法 匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他 。 即:变量名=变量类型+变量的英文意思(或缩写) 实例 bool(BOOL) ? ? ? 用b开头 ? ? ? ?bIsParent byte(BYTE) ? ? ? 用by开头 ? ? ? byFlag short(int) ? ? ? 用n开头 ? ? nStepCount long(LONG) ? ? ? 用l开头 ? ? lSum char(CHAR) ? ? 用c开头 ? ? cCount ?float(FLOAT) ?? 用f开头 ? ? fAvg double(DOUB

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档