第五章 程序编码 本章内容作为一般掌握内容 引言 前面所介绍的软件工程开发阶段都是为了一个目标:将软件表示变换为计算机能够 “理解”的形式。本阶段的内容就是把“设计”变换成用程序设计语言编写的程序。 引言 《亮剑》中有一句话:“国民党参谋部的作战方针往往都是英明的,只是让一群蠢材给执行了”。 据说,上帝把每一个人都创造为美丽的天使,只是天使在下凡时,有人脚先落地,而有的人却是脸先着地。 上面两个笑话说明:“无论你预先设计的有多么完美,没有正确、良好的执行也是无用的”。 引言 程序编码阶段的目标就是:选定程序设计语言,以规范、科学的方法将模块的设计翻译成可执行的程序。 本章主要内容 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。 在命名状态变量时,避免使用
您可能关注的文档
- 阿特斯阳光环境影响报告书剖析.doc
- 阿长与山海经优秀课件剖析.ppt
- 第一章机械制图基本知识和技能重点.ppt
- 月季病虫害防治重点.doc
- 阿根廷简介剖析.ppt
- 第一章-计算机网络基础知识重点.ppt
- 第一章建筑测量重点.ppt
- 软件可行性报告剖析.docx
- 阿里巴巴政委体系分享剖析.ppt
- 杂环环合物重点.ppt
- (2026春新版)部编版八年级语文下册《第一单元》PPT课件.pptx
- 2018电力监控系统网络安全监测装置技术规范.docx
- 2022电力监控系统安全防护方案审核要点.docx
- 2014电力电缆光伏系统EN 50618欧标.docx
- (2026春新版)人教版二年级数学下册《第三单元 万以内数的认识》教案.docx
- (2026春新版)人教版二年级数学下册《第四单元 万以内的加法和减法》教案.docx
- (2026春新版)人教版二年级数学下册《综合与实践 时间在哪里》教案.docx
- (2026春新版)苏教版二年级数学下册《综合与实践 时间有多长》教案 .pdf
- (2026春新版)部编版三年级语文下册第3单元(教案).docx
- (2026春新版)部编版三年级语文下册第8单元(教案).docx
原创力文档

文档评论(0)