欢迎来到天天文库
浏览记录
ID:59414867
大小:250.50 KB
页数:58页
时间:2020-09-19
《SE11程序设计语言及编码ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十一章编码和语言选择软件工程引言软件工程编码阶段的任务是将详细设计翻译成计算机可以“理解”并且最终可运行的代码。根据基本机制可将程序设计语言分为过程式程序设计语言、函数式程序设计语言、逻辑程序设计语言和面向对象程序设计语言四类。编码阶段不应单纯追求编码效率,而应全面考虑编写程序、测试程序、说明程序和修改程序等各项工作。影响编码质量的因素包括编程语言、编程准则和编程风格,它们对程序的可靠性、可读性、可测试性和可维护性都将产生深远的影响。通常把编码和测试统称为实现。编码(Coding):把软件设计翻译成计算机可以理解的形式——用某种程序设计语言书写的程序编码阶段涉及的问题语言选择编
2、码风格编程准则程序效率引言目的用选定的程序设计语言将模块的过程性描述翻译为用该语言书写的源程序编码模块的过程性描述源程序(不可执行的)(可执行的)编码概述编码的过程熟悉所选语言的功能和程序开发环境仔细阅读设计文档详细设计弄清要编码的模块的外部接口与内部过程对编码产生的源程序的要求正确可靠简明清晰有较高的执行效率编码概述效率与清晰是一对矛盾的要求要优先考虑程序的清晰性和可理解性对编码的有关说明编码要求清晰第一(对大多数模块)效率第一(对个别模块)用单入/单出保证控制流的直线性用限制GOTO保证控制流的局部性用GOTO与其它技巧消除重复编码编码概述设计是编码的先导,要复审设计编码要熟
3、悉所用的语言要恰倒好处利用编程语言的特点测试阶段也要编写一些测试程序对编码的有关说明编码概述编程标准人们总是希望编制清晰、紧凑、高效的程序,但这些特性在编码时往往互相矛盾,一般应依次考虑下列原则:(1)编制易于修改、维护的代码主要措施是在模块化和面向对象详细设计的基础上,进一步按属性划分程序。(2)编制易于测试的代码一般来说,人们总是通过运用条件编译语句尽早设计出测试用例、采用统一的命名规则管理这些测试用例并适时地进行回归测试等一系列措施提高程序的可测试性。编程标准(续)(3)必须将编程与编文档的工作统一开来。一个程序段的文档应包括下列内容:①代码的功能;②代码的完成者;③
4、代码在整个软件系统中的位置;④代码编制、复审的时间;⑤保留代码的原因;⑥代码中如何使用数据结构和算法。(4)编程中采用统一的标准和约定,降低程序复杂性(5)限定每一层的副作用,减少耦合度(6)尽可能地重用编码的风格追求“聪明”和“技巧”提倡“简明”和“直接”使用标准的控制结构清晰的前提下求取效率Makeitrightbeforeyoumakeitfaster.Makeitclearbeforeyoumakeitfaster.Keepitrightwhenyoumakeitfaster.(求快不忘保持程序正确)Keepitsimpletomakeitfaster.(保持程序
5、简单以求快)Don’tsacrificeclarityfor“efficiency”.(书写清楚,不要为“效率”牺牲清楚)源程序代码的逻辑简明清晰、易读易懂是好程序的一个重要标准程序具有良好的风格包括:源程序文档化数据说明语句结构输入/输出方法同时要考虑设计出的程序的执行效率问题编码的风格(1)符号名的命名符号名即标识符,包括模块名、变量名、常量名、标号名、子程序名、、数据区名以及缓冲区名等这些名字应能反映它所代表的实际东西,应有一定实际意义例如,表示次数的量用Times,表示总量的用Total,表示平均值的用Average,表示和的量用Sum等应当选择精炼的意义明确的名字。必要
6、时可使用缩写名字,但这时要注意缩写规则要一致,并且要给每一个名字加注释1、源程序文档化编码的风格(2)程序的注释夹在程序中的注释是程序员与日后的程序读者之间通信的重要手段。注释决不是可有可无的。一些正规的程序文本中,注释行的数量占到整个源程序的1/3到1/2,甚至更多。注释分为序言性注释和功能性注释。编码的风格通常置于每个程序模块的开头部分,它应当给出程序的整体说明。有关项目包括:程序标题;有关本模块功能和目的的说明;主要算法;接口说明:包括调用形式,参数描述,子程序清单;有关数据描述:重要的变量及其用途,约束或限制条件,以及其它有关信息;模块位置:在哪一个源文件中,或隶属于哪一
7、个软件包开发简历:模块设计者,复审者,复审日期,修改日期及有关说明等。1)序言性注释编码的风格嵌在源程序体中,用以描述其后的语句或程序段是在做什么工作,或是执行了下面的语句会怎么样。而不要解释下面怎么做。要点:描述一段程序,而不是每一个语句用缩进、空行或加框,使程序与注释容易区别注释要正确2)功能性注释编码的风格例如,/*ADDAMOUNTTOTOTAL*/TOTAL=AMOUNT+TOTAL此注释不好。如果注明把月销售额计入年度总额,便使读者理解了下面语句的意图:/*ADDM
此文档下载收益归作者所有