版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件项目的编码(补充)软件项目的编码(补充)概述编码过程的一个主要标准是编程与设计的对应性和统一性。如果编码没有按照设计的要求进行,设计就没有意义了。设计过程的算法、功能、接口、数据结构都应该在编码过程中体现。如果需求发生变更,设计也对应地发生变更,同时代码也应该一致地发生变更,这可以通过配置管理控制。概述编码过程的一个主要标准是编程与设计的对应性和统一性。如果2编码方法传统(结构化)编程方法(1)控制结构。程序结构要反映设计中的控制结构,在编码过程中要尽量避免程序中的无规则跳转,编写的代码尽量让读者可以容易地自上而下的阅读;要尽可能地模块化,以便于维护和测试;另外需考虑程序的耦合性和内聚性。编码方法传统(结构化)编程方法3编码方法传统(结构化)编程方法(2)算法。编码实现模块设计的算法,可以有很大的灵活性,而且受到编程语言和硬件的限制;需要平衡执行时间与设计的质量、标准、需求之间的关系,尤其要避免为了速度而牺牲程序的清晰性和正确性。编码方法传统(结构化)编程方法4编码方法传统(结构化)编程方法(3)数据结构。在编码过程中为了对数据进行处理,需要对数据的格式和存储进行安排;例:计算个人所得税程序中,计算税率的要求:收入的10000元部分,扣税10%;收入的10000元到20000元部分,扣税12%;收入的20000元到30000元部分,扣税15%;收入的30000元到40000元部分,扣税18%;收入的超过40000元部分,扣税20%编码方法传统(结构化)编程方法5编码方法Tax=0;If(taxable_income==0)gotoEXIT;If(taxable_income>10000)gototax=tax+1000;Else{tax=tax+0.1*taxable_income;gotoEXIT;}If(taxable_income>20000)gototax=tax+1200;Else{tax=tax+0.12*(taxable_income-10000);gotoEXIT;}If(taxable_income>30000)gototax=tax+1500;Else{tax=tax+0.15*(taxable_income-20000);gotoEXIT;}If(taxable_income<40000){tax=tax+0.18*(taxable_income-30000);gotoEXIT;}Else{tax=tax+1800+0.2*(taxable_income-40000);gotoEXIT;}EXIT;tax=0;for(inti=2,level=1;i<=5;i++)if(taxable_income>bracket[i])level=level+1;tax=base[level]+percent[level]*(taxable_income-bracket[level]);收入(bracket)基数(base)税率(percent)0-10000010%10000-20000100012%20000-30000220015%30000-40000370018%40000以上550020%编码方法Tax=0;tax=0;收入(bracket)基数(6编码方法面向对象编程语言的选择、类的实现、方法的实现、用户接口的实现面向对象编程语言最大的特色就是可以编写自己需要的数据类型。类是属性和方法的集合。属性和方法被声明为私有的、公共的或是受保护的,以描述了对类成员的访问控制。类是抽象的概念,只有对象才能“工作”。编码方法面向对象编程7编码方法编码时的注意事项确定企业编码标准或者指南从其他项目中是否可以获得复用代码编写本项目代码时,尽可能考虑将来其他项目复用模块编写详细设计作为代码的初始框架,经过几次从设计到编码的反复在程序里增加说明解释文档(如注释等)设计的属性可以在代码中体现出来编码的语言尽可能适用设计的要求编码方法编码时的注意事项8编码风格良好的编码风格可以减少编码的错误,减少读程序的时间,从而提高软件的开发效率。良好的编码风格体现在源程序文档化、数据说明、语句构造、输入和输出及对效率的追求几个方面。在编码阶段,要善于积累编程经验,培养和学习良好的编码风格,使编出的程序清晰易懂,易于测试与维护,从而提高软件的质量。编码风格良好的编码风格可以减少编码的错误,减少读程序的时间9编码风格编码的基本原则(1)源程序文档化。包括选择标识符名称,对源程序适当的注释,使源程序具有良好的视觉组织等。(2)数据说明。指导原则:数据说明顺序应规范,使数据的属性更易于查找,从而有利于测试、纠错与维护;一个语句说明有多个变量时,各变量按字典顺序排列;对于复杂的数据结构,要加注释,说明在程序实现时的特点。(3)语句构造。要简单、直接,不要为了提高效率而使语句更为复杂。简化语句构造的途径:避免使用复杂的条件测试;排除测试条件“非”;避免大量的循环嵌套和条件嵌套;使用括号清晰地表达逻辑表达式和算术表达式;利用加空或易读的符号来清晰地表示语句的内容;只使用ANSL(AmericanNationalStandardLabel)标准特性;换位自问:“如果我不是编程人员,我能看懂它吗?”编码风格编码的基本原则10编码风格编码的基本原则(4)满足工程学输入输出风格。尽量做到用户友好,尽可能方便用户的使用。原则:输入格式力求简单、一致,尽可能采用自由格式输入;进行数据输入时,让程序对所有输入数据进行有效性检查,防止破坏程序;输入一批数据时,使用数据或文件结束标志,而不要用计数来控制;交互式输入时,向用户显示提示信息,并说明允许的范围及边界值;对多个相关数据组合输入,进行检查,剔除似是而非的输入值;对可能产生重大后果的请求,给出醒目提示,使程序具有预防功能;输出数据表格化、图形化;发生错误时,能迅速恢复正常。(5)效率。指处理机时间和存储空间的使用。提高程序效率的根本途径在于选择良好的数据结构与算法,而不是靠编程时对语句做调整。编码风格编码的基本原则11编码风格面向对象编码原则(1)提高可复用性包括内部复用(本项目内的代码复用)和外部复用(新项目复用旧项目的代码)准则:减小方法的规模,提高方法的内聚方法的一致性。功能相似的方法应该有一致的名字、参数特征、返回值类型、使用条件等策略与实现分开。两种不同类型的方法:作出决策方法,提供变量,并且管理全局资源,称为决策方法;完成具体的操作方法,但却并不作出是否执行这个操作的决定,也不知道执行这个操作的意愿,称为实现方法。编程时不要把策略和实现放在同一个方法中,而应该把算法的核心部分放在一个单独的具体实现方法中,为此,需要从策略方法中提取出具体参数,作为调用实现方法的变元。编码风格面向对象编码原则12编码风格面向对象编码原则(1)提高可复用性准则:覆盖全面。如果输入条件可能出现多种组合,则应该针对每一种组合写出对应方法,而不能仅仅针对当前用到的组合情况写方法。少用全局信息。尽是降低方法与外界的耦合程度,不使用全局信息是一项重要措施。利用继承机制。可实现共享和提高复用程度。编码风格面向对象编码原则13编码风格面向对象编码原则(2)提高可扩充性准则:封装实现策略。把类的实现(包括描述属性的数据结构、修改属性的方法等)封装起来,对外只提供公有的接口,否则将降低今后修改数据结构或算法的自由度。减小方法的规模。一个方法应该只包含对象模型中的有限内容。少使用多分支语句。一般来说,可以利用DO_CASE语句测试对象的内部状态,而不需用根据对象类型选择应有的行为,否则在增添新类时将不得不修改原有的代码。精心设计公有方法。编码风格面向对象编码原则14编码风格面向对象编码原则(3)提高健壮性准则:预防用户错误操作。当用户输入数据发生错误时,不应该引起系统中断。任何一个接收用户输入数据的方法,对其接收到的数据都必须进行检查,即发现了非常严重的错误,也应该给出恰当的提示信息,并提示用户重新输入正确的数据。不要预先确定限制条件。在设计阶段,很难准确地预测出应用系统使用的数据结构的最大容量需求。因此不预先设置限制条件,如果有必要和可能,应该使用动态内存分配机制,创建未预先设定限制条件的数据结构。先测试后优化。为在效率与健壮性之间做出合理的折衷,应该在进行优化之前,先测试系统的性能。编码风格面向对象编码原则15软件项目的编码(补充)软件项目的编码(补充)概述编码过程的一个主要标准是编程与设计的对应性和统一性。如果编码没有按照设计的要求进行,设计就没有意义了。设计过程的算法、功能、接口、数据结构都应该在编码过程中体现。如果需求发生变更,设计也对应地发生变更,同时代码也应该一致地发生变更,这可以通过配置管理控制。概述编码过程的一个主要标准是编程与设计的对应性和统一性。如果17编码方法传统(结构化)编程方法(1)控制结构。程序结构要反映设计中的控制结构,在编码过程中要尽量避免程序中的无规则跳转,编写的代码尽量让读者可以容易地自上而下的阅读;要尽可能地模块化,以便于维护和测试;另外需考虑程序的耦合性和内聚性。编码方法传统(结构化)编程方法18编码方法传统(结构化)编程方法(2)算法。编码实现模块设计的算法,可以有很大的灵活性,而且受到编程语言和硬件的限制;需要平衡执行时间与设计的质量、标准、需求之间的关系,尤其要避免为了速度而牺牲程序的清晰性和正确性。编码方法传统(结构化)编程方法19编码方法传统(结构化)编程方法(3)数据结构。在编码过程中为了对数据进行处理,需要对数据的格式和存储进行安排;例:计算个人所得税程序中,计算税率的要求:收入的10000元部分,扣税10%;收入的10000元到20000元部分,扣税12%;收入的20000元到30000元部分,扣税15%;收入的30000元到40000元部分,扣税18%;收入的超过40000元部分,扣税20%编码方法传统(结构化)编程方法20编码方法Tax=0;If(taxable_income==0)gotoEXIT;If(taxable_income>10000)gototax=tax+1000;Else{tax=tax+0.1*taxable_income;gotoEXIT;}If(taxable_income>20000)gototax=tax+1200;Else{tax=tax+0.12*(taxable_income-10000);gotoEXIT;}If(taxable_income>30000)gototax=tax+1500;Else{tax=tax+0.15*(taxable_income-20000);gotoEXIT;}If(taxable_income<40000){tax=tax+0.18*(taxable_income-30000);gotoEXIT;}Else{tax=tax+1800+0.2*(taxable_income-40000);gotoEXIT;}EXIT;tax=0;for(inti=2,level=1;i<=5;i++)if(taxable_income>bracket[i])level=level+1;tax=base[level]+percent[level]*(taxable_income-bracket[level]);收入(bracket)基数(base)税率(percent)0-10000010%10000-20000100012%20000-30000220015%30000-40000370018%40000以上550020%编码方法Tax=0;tax=0;收入(bracket)基数(21编码方法面向对象编程语言的选择、类的实现、方法的实现、用户接口的实现面向对象编程语言最大的特色就是可以编写自己需要的数据类型。类是属性和方法的集合。属性和方法被声明为私有的、公共的或是受保护的,以描述了对类成员的访问控制。类是抽象的概念,只有对象才能“工作”。编码方法面向对象编程22编码方法编码时的注意事项确定企业编码标准或者指南从其他项目中是否可以获得复用代码编写本项目代码时,尽可能考虑将来其他项目复用模块编写详细设计作为代码的初始框架,经过几次从设计到编码的反复在程序里增加说明解释文档(如注释等)设计的属性可以在代码中体现出来编码的语言尽可能适用设计的要求编码方法编码时的注意事项23编码风格良好的编码风格可以减少编码的错误,减少读程序的时间,从而提高软件的开发效率。良好的编码风格体现在源程序文档化、数据说明、语句构造、输入和输出及对效率的追求几个方面。在编码阶段,要善于积累编程经验,培养和学习良好的编码风格,使编出的程序清晰易懂,易于测试与维护,从而提高软件的质量。编码风格良好的编码风格可以减少编码的错误,减少读程序的时间24编码风格编码的基本原则(1)源程序文档化。包括选择标识符名称,对源程序适当的注释,使源程序具有良好的视觉组织等。(2)数据说明。指导原则:数据说明顺序应规范,使数据的属性更易于查找,从而有利于测试、纠错与维护;一个语句说明有多个变量时,各变量按字典顺序排列;对于复杂的数据结构,要加注释,说明在程序实现时的特点。(3)语句构造。要简单、直接,不要为了提高效率而使语句更为复杂。简化语句构造的途径:避免使用复杂的条件测试;排除测试条件“非”;避免大量的循环嵌套和条件嵌套;使用括号清晰地表达逻辑表达式和算术表达式;利用加空或易读的符号来清晰地表示语句的内容;只使用ANSL(AmericanNationalStandardLabel)标准特性;换位自问:“如果我不是编程人员,我能看懂它吗?”编码风格编码的基本原则25编码风格编码的基本原则(4)满足工程学输入输出风格。尽量做到用户友好,尽可能方便用户的使用。原则:输入格式力求简单、一致,尽可能采用自由格式输入;进行数据输入时,让程序对所有输入数据进行有效性检查,防止破坏程序;输入一批数据时,使用数据或文件结束标志,而不要用计数来控制;交互式输入时,向用户显示提示信息,并说明允许的范围及边界值;对多个相关数据组合输入,进行检查,剔除似是而非的输入值;对可能产生重大后果的请求,给出醒目提示,使程序具有预防功能;输出数据表格化、图形化;发生错误时,能迅速恢复正常。(5)效率。指处理机时间和存储空间的使用。提高程序效率的根本途径在于选择良好的数据结构与算法,而不是靠编程时对语句做调整。编码风格编码的基本原则26编码风格面向对象编码原则(1)提高可复用性包括内部复用(本项目内的代码复用)和外部复用(新项目复用旧项目的代码)准则:减小方法的规模,提高方法的内聚方法的一致性。功能相似的方法应该有一致的名字、参数特征、返回值类型、使用条件等策略与实现分开。两种不同类型的方法:作出决策方法,提供变量,并且管理全局资源,称为决策方法;完成具体的操作方法,但却并不作出是否执行这个操作的决定,也不知道执行这个操作的意愿,称为实现方法。编程时不要把策略和实现放在同一个方法中,而应该把算法的核心部分放在一个单独的具体实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 暑假安全观后心得体会
- 黄山导游词范文(31篇)
- 给父母最好的礼物国旗下讲话稿(31篇)
- 营业聘用合同(3篇)
- 龙兴施工便道技术方案
- 暑期幼儿园实习报告(3篇)
- 当家教社会实践报告范文(3篇)
- 新教材高考地理二轮专题复习单元综合提升练10区域协调发展与区际联系含答案
- 新教材高考地理二轮复习综合题专项训练三对比分析类含答案
- 河南省南阳市2024-2025学年高二上学期期中考试历史试题(含答案)
- 储能技术在交通领域的应用
- 海洋资源与药物研究进展-马瑜璐
- 视网膜动脉阻塞治疗及护理
- 第五单元写作《如何突出中心》课件(共26张)语文七年级上册
- 缺铁性贫血的药物治疗课件
- SHT 3425-2011 石油化工钢制管道用盲板
- 特种设备安全风险管控清单
- 广西检察院聘用制书记员考试真题库2023
- 品管圈QCC成果汇报提高母乳喂养成功率课件
- 统编版语文八年级上册 第四单元综合性学习《我们的互联网时代》公开课一等奖创新教学设计
- 沪科版八年级数学(上)期中考试基础知识总结
评论
0/150
提交评论