- 1、本文档共271页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 实现综述
问题定义;第7章 实现;通常把编码和测试统称为实现。
① 编码:把详细设计结果翻译成用某种程序语言书写的程序。
② 软件测试:是保证软件质量的关键步骤,
它是对软件规格说明、设计和编码的最后复审。
软件测试分2个阶段:
编码与单元测试:编写一个模块,对它做测试,
编写者和测试者同一个人。
综合测试:编码与单元测试结束后,进行的集成测试,
是一个独立阶段,由专门的测试人员进行测试。
测试的目标:是发现软件中的错误;
调试的目的:是通过测试发现错误后,诊断和改正错误。 ;高级语言明显优于汇编语言。因此:
1)除了很特殊的应用领域
① 对程序执行时间和使用空间都有很严格限制的情况;
② 需要产生任意的,甚至非法的指令序列;
(高级语言没有此功能)
③ 体系结构很特殊的微处理机(不能使用高级语言);
2)大型系统中执行时间非常关键的(或直接依赖于硬件的)
一小部分代码。
需要用汇编语言书写外,
其他程序一律用高级语言书写。;选择高级语言的标准
1.理想标准
1)有理想的模块化机制,
以及可读性好的控制结构和数据结构;
2)编译程序能够尽可能多地发现程序中的错误;
3)有良好的独立编译机制。(编写一个模块就能编译)。;2.实用标准
1)系统用户的要求
如果系统由用户负责维护,用户希望用他们熟悉的语言写程序。
(会JAVA,而不会C#;会WINDOWS系列,而不会LINUX)
2)可以使用的编译程序?(好坏)
3)可以得到的软件工具(多少)
4)工程规模(大小)
5)程序员的知识,
采用程序员所熟悉的语言。JAVA
;6)软件可移植性要求。
系统使用各种不同的计算机或寿命很长,
应选择标准化程度高、可移植性好的语言。
/* 应该选择未来一定时间内占主导地位的语言
(FOXPRO,ORACLE)邮电管理系统
7)软件的应用领域。
其中软件的应用领域是最关键的因素。
各种语言往往使用于不同的应用领域。;语言适用的主要应用领域;7.1.2 编码风格;1.程序内部的文档
包括标识符、适当的注解、程序的视觉组织。
标识符:包括模块名、函数名、变量名、常量名、
过程名等。
1)变量名的选择
(1) 采用有实际意义的变量名
? 有实际意义的名字能帮助理解和记忆。
例如:TotalSum空格总数,Sum每行空格数目
可以把D=S*T写成,DISTANCE=SPEED*TIME(见名知意)
? 变量名一般情况下取4~12个字符为宜。
? 最好事先能对变量名的选择约定统一的标准,
以后阅读就会方便。
这一技巧对过程名、函数名、类名、对象名等同样适用。;(2)变量和函数的常用命名方法
① 下划线法(在每一个英文单词前,加下划线)
在变量名和函数中使用下划线是一种风格,
会大大加强可读性
total_sum, print_report()
② 骆驼式命名法(每一个单词的第一个字母写大写)
混合使用大小写字母来构成变量和函数的名字
TotalSum, PrintReport()
函数的命名采用动词/名词结构
ExitSystem()
;③ 匈牙利式命名法
MS公司的程序员 Charles Simonyi(匈牙利人的后裔)提出。
结构:数据类型+骆驼式
变量名或函数名前要加上,一个或两个字符的前缀,
用来表示变量或函数的数据类型;
后部分用骆驼式命名法。
MS Windows ,Visual Basic ,Office等
大量使用了匈牙利命名法或其变体。;数据类型;(3)不用过于相似的变量名
因为这样容易引起误解和打字错误。
例如:ELL、EMM、ENN、EMMN、ENNN等
放在一起很容易混淆,
又如:POSITIONX和POSITIONY是仅仅末尾不相同的长标识符,如果编译程序只识别前8个字符就会出现错误,所以不安全。
;(4)变量名中一般不要带有数字
字母:O、I(l)、Z、S
数字: 0、1、 2、5 ,极易混淆:label1
ElseIf
(5)同一变量名不要有多种含义
例如变量NEW在程序的第一、第三、第四段
分别表示不同的含义,则阅读时容易误解,
将来修改时也会造成错误。
;
(6)显式地声明一切变量
int a,b,c;
文档评论(0)