- 1、本文档共49页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 程序编码 本章内容作为一般掌握内容 引言 前面所介绍的软件工程开发阶段都是为了一个目标:将软件表示变换为计算机能够 “理解”的形式。本阶段的内容就是把“设计”变换成用程序设计语言编写的程序。 引言 《亮剑》中有一句话:“国民党参谋部的作战方针往往都是英明的,只是让一群蠢材给执行了”。 据说,上帝把每一个人都创造为美丽的天使,只是天使在下凡时,有人脚先落地,而有的人却是脸先着地。 上面两个笑话说明:“无论你预先设计的有多么完美,没有正确、良好的执行也是无用的”。 引言 程序编码阶段的目标就是:选定程序设计语言,以规范、科学的方法将模块的设计翻译成可执行的程序。 本章主要内容 5.1 对源程序的质量要求 5.2 程序设计语言的选择 5.3 结构化程序设计 5.4 程序设计风格 5.5 程序效率 5.1 对源程序的质量要求 1.正确性 2.易理解、易修改(程序有良好的结构和设计风格 ) 5.2 程序设计语言的选择 程序设计语言的分类 5.2 程序设计语言的选择 选择程序设计语言的标准要综合考虑以下各方面因素来决定: 1)从程序员方面考虑: 应选择一种程序员熟悉的语言。 2)从用户方面考虑 如果所开发的系统的维护工作是由用户来完成的,应选择一种既有利于系统功能实现,又是用户所熟悉的程序设计语言。 5.2 程序设计语言的选择 3)从软件的可移植性方面考虑 应选择一种标准化程度高,并且程序的可移植性好的语言实现设计 。 4)从应用领域方面考虑 不同的语言有不同的适用范围,适合的程序设计语言所提供的环境有利于程序员实现功能,在一定程度上简化编程,且有利于后期的测试和维护工作。 5.2 程序设计语言的选择 选择语言的原则为: 1.最少工作量原则; 2.最少技巧性原则; 3.最少错误原则; 4.最少维护原则; 5.最少记忆原则。 5.3 结构化程序设计 结构化程序设计采用自顶向下、逐步细化的设计方法和单入口、单出口的控制结构。这种控制结构包括有: 顺序 选择 循环 5.3 结构化程序设计 1. 关于GOTO语句的争论 2. 结构化程序设计的原则 使用语言中的顺序、选择、重复等有限的基本控制结构表示程序; 选用的控制结构只准许有一个入口和一个出口; 程序语句组成容易识别的块(Block),每块只有一个入口和一个出口; 复杂结构应该用基本控制结构进行组合嵌套来实现; 严格控制GOTO语句。 5.3 结构化程序设计 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.4 程序设计风格 程序的良好风格包括: 源程序文档化 数据说明 语句说明 输入/输出方法 5.4.1 源程序文档化——标识符 标识符的命名 标识符,包括模块名、变量名、常量名、标号名、子程序名、数据区名以及缓冲区名等。 这些名字应能反映它所代表的实际东西,应有一定实际意义。 例如,表示次数的量用Times,表示总量用Total,表示平均值用Average,表示和的量用Sum等。 名字不是越长越好,应当选择精炼的意义明确的名字。 必要时可使用缩写名字,但注意缩写规则要一致,并且要给每一个名字加注释。 5.4.1 源程序文档化——标识符 在一个程序中,一个变量只应用于一种用途。 例: new.balance.accounts.payable //名字太长 nbap //需加注释 N //? 附:东软推荐的命名方法 避免容易被主观解释的难懂的名称,如AnalyzeThis() 。这样的名称会导致多义性。 在类属性的名称中包含类名是多余的,如 Book.BookTitle。而是应该使用 Book.Title。 只要合适,在变量名的末尾或开头加计算限定符(Avg、Sum、Min、Max、Index)。 在变量名中使用互补对,如 min/max、begin/end。 东软推荐的命名方法 布尔变量名应该包含 Is,这意味着 Yes/No 或 True/False 值,如 fileIsFound。 在命名状态变量时,避免使用
文档评论(0)