软件项目的编码(补充)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件项目的编码(补充)概述编码过程的一个主要标准是编程与设计的对应性和统一性。如果编码没有按照设计的要求进行,设计就没有意义了。设计过程的算法、功能、接口、数据结构都应该在编码过程中体现。如果需求发生变更,设计也对应地发生变更,同时代码也应该一致地发生变更,这可以通过配置管理控制。编码方法传统(结构化)编程方法(1)控制结构。程序结构要反映设计中的控制结构,在编码过程中要尽量避免程序中的无规则跳转,编写的代码尽量让读者可以容易地自上而下的阅读;要尽可能地模块化,以便于维护和测试;另外需考虑程序的耦合性和内聚性。编码方法传统(结构化)编程方法(2)算法。编码实现模块设计的算法,可以有很大的灵活性,而且受到编程语言和硬件的限制;需要平衡执行时间与设计的质量、标准、需求之间的关系,尤其要避免为了速度而牺牲程序的清晰性和正确性。编码方法传统(结构化)编程方法(3)数据结构。在编码过程中为了对数据进行处理,需要对数据的格式和存储进行安排;例:计算个人所得税程序中,计算税率的要求:收入的10000元部分,扣税10%;收入的10000元到20000元部分,扣税12%;收入的20000元到30000元部分,扣税15%;收入的30000元到40000元部分,扣税18%;收入的超过40000元部分,扣税20%编码方法Tax=0;If(taxable_income==0)gotoEXIT;If(taxable_income10000)gototax=tax+1000;Else{tax=tax+0.1*taxable_income;gotoEXIT;}If(taxable_income20000)gototax=tax+1200;Else{tax=tax+0.12*(taxable_income-10000);gotoEXIT;}If(taxable_income30000)gototax=tax+1500;Else{tax=tax+0.15*(taxable_income-20000);gotoEXIT;}If(taxable_income40000){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_incomebracket[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%编码方法面向对象编程语言的选择、类的实现、方法的实现、用户接口的实现面向对象编程语言最大的特色就是可以编写自己需要的数据类型。类是属性和方法的集合。属性和方法被声明为私有的、公共的或是受保护的,以描述了对类成员的访问控制。类是抽象的概念,只有对象才能“工作”。编码方法编码时的注意事项确定企业编码标准或者指南从其他项目中是否可以获得复用代码编写本项目代码时,尽可能考虑将来其他项目复用模块编写详细设计作为代码的初始框架,经过几次从设计到编码的反复在程序里增加说明解释文档(如注释等)设计的属性可以在代码中体现出来编码的语言尽可能适用设计的要求编码风格良好的编码风格可以减少编码的错误,减少读程序的时间,从而提高软件的开发效率。良好的编码风格体现在源程序文档化、数据说明、语句构造、输入和输出及对效率的追求几个方面。在编码阶段,要善于积累编程经验,培养和学习良好的编码风格,使编出的程序清晰易懂,易于测试与维护,从而提高软件的质量。编码风格编码的基本原则(1)源程序文档化。包括选择标识符名称,对源程序适当的注释,使源程序具有良好的视觉组织等。(2)数据说明。指导原则:数据说明顺序应规范,使数据的属性更易于查找,从而有利于测试、纠错与维护;一个语句说明有多个变量时,各变量按字典顺序排列;对于复杂的数据结构,要加注释,说明在程序实现时的特点。(3)语句构造。要简单、直接,不要为了提高效率而使语句更为复杂。简化语句构造的途径:避免使用复杂的条件测试;排除测试条件“非”;避免大量的循环嵌套和条件嵌套;使用括号清晰地表达逻辑表达式和算术表达式;利用加空或易读的符号来清晰地表示语句的内容;只使用ANSL(AmericanNationalStandardLabel)标准特性;换位自问:“如果我不是编程人员,我能看懂它吗?”编码风格编码的基本原则(4)满足工程学输入输出风格。尽量做到用户友好,尽可能方便用户的使用。原则:输入格式力求简单、一致,尽可能采用自由格式输入;进行数据输入时,让程序对所有输入数据进行有效性检查,防止破坏程序;输入一批数据时,使用数据或文件结束标志,而不要用计数来控制;交互式输入时,向用户显示提示信息,并说明允许的范围及边界值;对多个相关数据组合输入,进行检查,剔除似是而非的输入值;对可能产生重大后果的请求,给出醒目提示,使程序具有预防功能;输出数据表格化、图形化;发生错误时,能迅速恢复正常。(5)效率。指处理机时间和存储空间的使用。提高程序效率的根本途径在于选择良好的数据结构与算法,而不是靠编程时对语句做调整。编码风格面向对象编码原则(1)提高可复用性包括内部复用(本项目内的代码复用)和外部复用(新项目复用旧项目的代码)准则:减小方法的规模,提高方法的内聚方法的一致性。功能相似的方法应该有一致的名字、参数特征、返回值类型、使用条件等策略与实现分开。两种不同类型的方法:作出决策方法,提供变量,并且管理全局资源,称为决策方法;完成具体的操作方法,但却并不作出是否执行这个操作的决定,也不知道执行这个操作的意愿,称为实现方法。编程时不要把策略和实现放在同一个方法中,而应该把算法的核心部分放在一个单独的具体实现方法中,为此,需要从策略方法中提取出具体参数,作为调用实现方法的变元。编码风格面向对象编码原则(1)提高可复用性准则:覆盖全面。如果输入条件可能出现多种组合,则应该针对每一种组合写出对应方法,而不能仅仅针对当前用到的组合情况写方法。少用全局信息。尽是降低方法与外界的耦合程度,不使用全局信息是一项重要措施。利用继承机制。可实现共享和提高复用程度。编码风格面向对象编码原则(2)提高可扩充性准则:封装实现策略。把类的实现(包括描述属性的数据结构、修改属性的方法等)封装起来,对外只提供公有的接口,否则将降低今后修改数据结构或算法的自由度。减小方法的规模。一个方法应该只包含对象模型中的有限内容。少使用多分支语句。一般来说,可以利用DO_CASE语句测试对象的内部状态,而不需用根据对象类型选择应有的行为,否则在增添新类时将不得不修改原有的代码。精心设计公有方法。编码风格面向对象编码原则(3)提高健壮性准则:预防用户错误操作。当用户输入数据发生错误时,不应该引起系统中断。任何一个接收用户输入数据的方法,对其接收到的数据都必须进行检查,即发现了非常严重的错误,也应该给出恰当的提示信息,并提示用户重新输入正确的数据。不要预先确定限制条件。在设计阶段,很难准确地预测出应用系统使用的数据结构的最大容量需求。因此不预先设置限制条件,如果有必要和可能,应该使用动态内存分配机制,创建未预先设定限制条件的数据结构。先测试后优化。为在效率与健壮性之间做出合理的折衷,应该在进行优化之前,先测试系统的性能。

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功