您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 软件项目的编码(补充)
软件项目的编码(补充)概述编码过程的一个主要标准是编程与设计的对应性和统一性。如果编码没有按照设计的要求进行,设计就没有意义了。设计过程的算法、功能、接口、数据结构都应该在编码过程中体现。如果需求发生变更,设计也对应地发生变更,同时代码也应该一致地发生变更,这可以通过配置管理控制。编码方法传统(结构化)编程方法(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)提高健壮性准则:预防用户错误操作。当用户输入数据发生错误时,不应该引起系统中断。任何一个接收用户输入数据的方法,对其接收到的数据都必须进行检查,即发现了非常严重的错误,也应该给出恰当的提示信息,并提示用户重新输入正确的数据。不要预先确定限制条件。在设计阶段,很难准确地预测出应用系统使用的数据结构的最大容量需求。因此不预先设置限制条件,如果有必要和可能,应该使用动态内存分配机制,创建未预先设定限制条件的数据结构。先测试后优化。为在效率与健壮性之间做出合理的折衷,应该在进行优化之前,先测试系统的性能。
本文标题:软件项目的编码(补充)
链接地址:https://www.777doc.com/doc-794406 .html