1、第五章第五章 软件实现软件实现任务任务1 1 规范代码的编写规范代码的编写软件实现概述软件实现概述软件实现流程软件实现流程编程语言的种类与选择编程语言的种类与选择编程风格与规范编程风格与规范2 2真正好的代码不仅要能够正确地运行,而且还要真正好的代码不仅要能够正确地运行,而且还要让别人能够看懂。就像一篇文章,段落清晰,文让别人能够看懂。就像一篇文章,段落清晰,文字规范,读者乐于阅读字规范,读者乐于阅读。对于程序的编写也是一样,也应该是段落清晰、对于程序的编写也是一样,也应该是段落清晰、语义明确,我们把这种代码称为易于阅读和易于语义明确,我们把这种代码称为易于阅读和易于维护的代码。维护的代码。当
2、前我们所构建的图书管理系统不仅仅要能够运当前我们所构建的图书管理系统不仅仅要能够运行,考虑到日后的升级和维护,代码的可阅读性行,考虑到日后的升级和维护,代码的可阅读性就尤为重要了。那么,如何才能编写出符合要求就尤为重要了。那么,如何才能编写出符合要求的代码呢?的代码呢?3 3软件实现阶段的主要任务软件实现阶段的主要任务按总体设计方案购置和安装计算机网络系统。按总体设计方案购置和安装计算机网络系统。软件准备。软件准备。人员培训。人员培训。知识准备。知识准备。投入切换和试运行。投入切换和试运行。5 5准备工作编程代码审查单元测试缺陷跟踪与改错集成测试集成测试软件系统模块软件实现阶段的主要成果软件实
3、现阶段的主要成果开发计划开发计划软件的源代码和构件库软件的源代码和构件库编程规范、与编程相关的技术文档编程规范、与编程相关的技术文档测试用例和测试报告等测试用例和测试报告等第一代程序设计语言第一代程序设计语言2020世纪世纪6060年代以前出现的年代以前出现的与机器紧密相关的机器语言和汇编语言。与机器紧密相关的机器语言和汇编语言。第二代程序设计语言第二代程序设计语言2020世纪世纪6060年代以后出现的,是第三代语言的前身年代以后出现的,是第三代语言的前身包括:包括:FORTRANFORTRAN,COBOLCOBOL,BASICBASIC等等第三代程序设计语言第三代程序设计语言也称为结构化的程
4、序语言,其特点是直接支持结构化构也称为结构化的程序语言,其特点是直接支持结构化构件,并具有很强的过程能力和数据结构能力。件,并具有很强的过程能力和数据结构能力。细分为:通用高级语言面向对象的语言和专用语言。细分为:通用高级语言面向对象的语言和专用语言。通用语言:通用语言:PascalPascal,C C等等面向对象的语言:面向对象的语言:C+C+,SmalltalkSmalltalk,javajava等等专用语言:专用语言:LISPLISP,PrologProlog等等第四代语言第四代语言(Fourth(FourthGeneration Language Generation Language
5、 简称简称4GL)4GL)具有具有“面向问题面向问题”、“非过程化程度高非过程化程度高”等特点,可以等特点,可以成数量级地提高软件生产率,以数据库管理系统所提供成数量级地提高软件生产率,以数据库管理系统所提供的功能为核心的功能为核心 。如如 PowerBuilder 9.0 PowerBuilder 9.0 选择编程语言时要考虑的问题选择编程语言时要考虑的问题项目的应用领域项目的应用领域算法和计算复杂性算法和计算复杂性软件运行环境软件运行环境用户需求中关于性能方面的需要用户需求中关于性能方面的需要数据结构的复杂性数据结构的复杂性软件开发人员的知识水平软件开发人员的知识水平可用的编译器与交叉编译
6、器可用的编译器与交叉编译器9 9命名规范举例(命名规范举例(JavaJava)1.1.使用全英文确切的表达变量、域、类等。使用全英文确切的表达变量、域、类等。正确的命名方式:正确的命名方式:firstName,grandTotalfirstName,grandTotal;不合适的命名方式:不合适的命名方式:x1,y5x1,y5;2.2.尽量使用项目或产品相关业务领域的术语,同尽量使用项目或产品相关业务领域的术语,同时要有统一的词汇表(时要有统一的词汇表(GlossaryGlossary)。)。3.3.命名时使用大小写混合的方式增加可读性,一命名时使用大小写混合的方式增加可读性,一般情况第一个字
7、母小写,但是类名、接口名的首般情况第一个字母小写,但是类名、接口名的首字母大写。字母大写。正确的命名方式:正确的命名方式:int iSumint iSum;public class GetPushInformationpublic class GetPushInformation;4.4.少使用缩写或使用标准的缩写,同时要有统一的缩少使用缩写或使用标准的缩写,同时要有统一的缩略语表略语表(Abbreviation)(Abbreviation)。5.5.避免使用过长的命名,控制在避免使用过长的命名,控制在1515个字符以内为宜。个字符以内为宜。6.6.避免相似的命名,同时不使用仅大小写不同的命名
8、。避免相似的命名,同时不使用仅大小写不同的命名。不合适的命名方式:不合适的命名方式:persistentObject&persistentObjectspersistentObject&persistentObjects;anSqlDatabase&AnSQLDatabaseanSqlDatabase&AnSQLDatabase;7.7.不在命名的开头或者结尾使用下划线(不在命名的开头或者结尾使用下划线(_ _)。)。不合适的命名方式:不合适的命名方式:_iSum,GetPushInformation_iSum,GetPushInformation_;注释注释在类、接口、成员函数和域(属性)的
9、声明前使用。文在类、接口、成员函数和域(属性)的声明前使用。文档编制注释里的内容符合档编制注释里的内容符合JavadocJavadoc标准。标准。例如:例如:/*Mobile Lottery-A application system developing for Mobile Lottery-A application system developing for *operator or 3rd party.operator or 3rd party.*author Roy Gao author Roy Gao *param draws,phoneNumber param draws,phon
10、eNumber */public class MLottery(int draws,char phoneNumber)public class MLottery(int draws,char phoneNumber)单行注释单行注释用于成员函数中说明商业逻辑、代码片断或者声明临时用于成员函数中说明商业逻辑、代码片断或者声明临时变量加以注释。变量加以注释。例如:例如:/Apply a 5%discount to all invoices/Apply a 5%discount to all invoices/over$1000 as defined by the Sarek/over$1000 a
11、s defined by the Sarek/generosity campaign started in Feb.of 2000./generosity campaign started in Feb.of 2000.代码审查代码审查易做到软件测试不能发现的代码风格不统一问题易做到软件测试不能发现的代码风格不统一问题有经验的人能很快发现常见的有经验的人能很快发现常见的bugbug开发小组内部测试开发小组内部测试本人先进行单步跟踪本人先进行单步跟踪同伴进行代码审查同伴进行代码审查同伴进行测试同伴进行测试调试改错注意事项调试改错注意事项找到错误的代码时,先思考一下修改此处代码会不找到错误的代码时,先思考一下修改此处代码会不会引发其他问题会引发其他问题有时软件可能潜伏同一类型的许多错误,应乘胜追有时软件可能潜伏同一类型的许多错误,应乘胜追击,全部歼灭击,全部歼灭在改错之后一定要进行回归测试,一面引入新的错在改错之后一定要进行回归测试,一面引入新的错误误总结经验教训,防止以后再犯总结经验教训,防止以后再犯理解理解编程标准和规范编程标准和规范1616
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。