- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]ch05程序编码
第五章 程序编码 本章内容作为一般掌握内容 引言 前面所介绍的软件工程开发阶段都是为了一个目标:将“软件表示”变换为计算机能够 “理解”的形式。本阶段的内容就是把“设计”变换成用程序设计语言编写的程序。 《亮剑》中有一句话:“国民党参谋部的作战方针往往都是英明的,只是让一群蠢材给执行了”。 据说,上帝把每一个人都创造为美丽的天使,只是天使在下凡时,有人脚先落地,而有的人却是脸先着地。 上面两个笑话说明:“无论你预先设计的有多么完美,没有正确、良好的执行也是无用的”。 程序编码阶段的目标就是:选定程序设计语言,以规范、科学的方法将模块的设计翻译成可执行的程序。 本章主要内容 5.1 对源程序的质量要求 5.2 结构化程序设计 5.3 程序设计风格 5.4 程序效率 5.5 程序设计语言 5.6 程序复杂性度量 5.1 对源程序的质量要求 1.正确性 2.易理解、易修改(程序有良好的结构和设计风格 ) 5.2 结构化程序设计 结构化程序设计采用自顶向下、逐步细化的设计方法和单入口、单出口的控制结构。这种控制结构包括有: 顺序 选择 循环 1. 关于GOTO语句的争论 2. 结构化程序设计的原则 使用语言中的顺序、选择、重复等有限的基本控制结构表示程序; 选用的控制结构只准许有一个入口和一个出口; 程序语句组成容易识别的块(Block),每块只有一个入口和一个出口; 复杂结构应该用基本控制结构进行组合嵌套来实现; 严格控制GOTO语句。 3. 结构化程序设计方法:自顶向下、逐步求精。采用从抽象→具体的方法,逐步分解,细化问题,逐步导出可执行的源代码。不提倡直接编写源程序。 例如:设计一个函数“核对密码”。 int checkPwd(char id[10],char pwd[10]){ 根据id提取用户正确密码truepwd; 与pwd比较是否一致,并返回信号(正确返回1;错误返回0)。 } 进一步细化 int checkPwd(char id[10],char pwd[10]){ 连接到数据库; 根据id查询出用户正确密码; 保存到变量truepwd中; 关闭数据库; if (pwd==truepwd) return 1; else return 0; } 再进一步细化…………(略) 5.3 程序设计风格 1. 源程序 (1)符号名的命名原则 见名知意; 可以使用缩写名,避免变量名过长; 变量用途要唯一,避免出现一个变量多种用途的情况。 附:东软推荐的命名方法 避免容易被主观解释的难懂的名称,如方面名 AnalyzeThis(),或者属性名 xxK8。这样的名称会导致多义性。 在类属性的名称中包含类名是多余的,如 Book.BookTitle。而是应该使用 Book.Title。 只要合适,在变量名的末尾或开头加计算限定符(Avg、Sum、Min、Max、Index)。 在变量名中使用互补对,如 min/max、begin/end。 布尔变量名应该包含 Is,这意味着 Yes/No 或 True/False 值,如 fileIsFound。 在命名状态变量时,避免使用诸如 Flag 的术语。 即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用有意义的名称。如:For i = 1 To 7。而是使用命名常数,如 For i = 1 To NUM_DAYS_IN_WEEK 以便于维护和理解。 (2)注释 程序中的注释决不是可有可无的。在一些正规的程序文本中,注释行的数量占到整个源程序的1/3到1/2,甚至更多。注释分为序言性注释和功能性注释。 序言性注释:通常置于每个程序模块的开头部分,是对程序的整体说明,如接口、参数、修改日志等信息; 功能性注释:描述其后的语句或程序段的功能,或是产生了什么结果。 附:东软的注释原则 修改代码时,总是使代码周围的注释保持最新。 在每个例程的开始,提供标准的注释样本以指示例程的用途、假设和限制。注释样本应该是解释它为什么存在和可以做什么的简短介绍。 避免在代码行的末尾添加注释;行尾注释使代码更难阅读。 避免杂乱的注释,如一整行星号。而是应该使用空白将注释同代码分开。 避免在块注释的周围加上印刷框。这样看起来可能很漂亮,但是难于维护。 在部署发布之前,移除所有临时或无关的注释,以避免在日后的维护工作中产生混乱。 如果需要用注释来解释复杂的代码节,请检查此代码以确定是否应该重写它。尽一切可能不注释难以理解的代码,而应该重写它。 在编写注释时使用完整的句子。注释应该阐明代码,而不应该增加多义性。 在编写代码的同时就注释,因为以后很可能没有时间这样做。另外,如果有机会复查已编写的代码,在今天看来很明显的东西六周以后或许就不明显了。
文档评论(0)