华为软件开发规范3

所需积分/C币:16 2011-12-11 18:06:05 181KB PDF
11
收藏 收藏
举报

华为软件开发规范3 程序效率 质量保证 代码编辑编译审查 代码测试维护 宏
软件编程规范总则 程序效率 循环体内工作量最小化。 说明:应仔细考虑循环体内的语句是否可以放在循环体之外,使循环体内工作量最小,从 而提高程序的时间效率。 示例:如下代码效率不高 语句“ 完全可以放在语句之后,如下。 仔细分析有关算法,并进行优化 仔细考查、分析系统及模块处理粉入(如享务、消息等)的方式,并加以改进。 对模块中西数的划升及组织方式进行外析、优化,改进模块中的数的组织结构,提高程 序数率。 仅供内部使用43 软件编程规范总则 程序效率 说明:软件系统的效率主要与算法、处理任务方式、系统功能及函数结构有很大关系,仅 在代码上下功夫一般不能解决根本问题。 编程时,要随时B心代码效率;优化代妈时,要考虑周全 不应花过多的时间拼命地提高调用不很频繁的丽数代码效率。 说明:对代码优化可提髙效率,但若考虑不周很有可能引起严重后果 要仔细地构造或直接用汇编编写调用频繁或性能要求极高的函数。 说明:只有对编译系统产枳器码的方式以及硬件系统较为熟悉时,才可使用汇编嵌入方 式。嵌入汇编可提高时间及空间效率,但也存在一定风险。 在保证程序质量的前提下,通过压缩代码量、去草不必要代码以及减少不必要的局部和 全局交量,来提高空间效率。 说明:这种方式对提高空间效率可起到一定作用,但往往不能解决根本问题 在多重循环中,应将最汇的循环放在最内层。 说明:减少切入循环层的次数 示例:如下代码效率不高 可以改为如下方式,以提高效率 仅供内部使用44 软件编程规范总则 程序效率 :尽量减少循环嵌套层次。 避免循环体内含判的语句,应将循环语句置于判助语句的代码块之中 说明:日的是减少判断次数。循环体中的判断语句是否可以移到循环体外,要视程序的具 体情况而言,一般情况,与循环变量无关的判断语句可以移到循环体外,而有关的则不可 示例:如下代码效率稍低。 因为判断话句与循环变量无关,故可如下改进,以减少判断次数。 仅供内部使用45 软件编程规范总则 程序效率 尽量用乘法或其它方法代替除法,特别是浮点运算中的除法。 说明:浮点运算除法要占用较多资源。 示例:如下表达式运算可能要占较多资源。 应如下把浮点除法改为浮点乘法 编译器编译时,将生成具体浮点数 不要一味追求紧凑的代码。 说明:因为紧凑的代码并不代表高效的机器码。 仅供内部使用46 软件编程规范总则 质量保证 质量保证 :在软件设计过程中构筑软件质量。 :代码质量保证优先原则 ()正确性,指程序要实现设计要求的功能。 ()稳定性、安仝性,指程序稳定、可靠、安全。 ()可测试性,指程序要具有良好的可测试性。 )规范可读性,指程序书写风格、命名规则等要符合规范。 ()全局效率,指软件系统的整体效率 ()局部效率,指某个模块子模块函数的木身效率 ()个人表达方式个人方便性,指个人编程丬惯 :只引用属于自己的存贮空间。 说明:若模块封装的较好,那么一般不会发生非法引用他人的空间。 :防止引用已经释放的内存空间 说明:在实际编程过程中,稍不留心就会出现在一个模块中释放了某个内存(如语言 指针),而另一模块在随后的某个时刻又使用了它。要防止这种情况发生。 过程函数中分配的内存,在过程函数退出之前要释放。 过程函数中申请的(为打开文件而使用的)文件句柄,在过程函数退出之前要关闭。 说明:分配的内存不释放以及文件句柄不关闭,是较常见的错误,而且稍不注意就有可能 发生。这类错误往往会引起很产重后果,且难以定位。 示例:下函数在退出之前,没有把分配的内存释放 仅供内部使用47 软件编程规范总则 质量保证 忘了释放 应改为如下。 退出之前释放 :防止内存操作越界。 说明:内存操作主要是指对数组、指针、内存地址等的操作。内存操作越界是软件系统主 要错误之一,后果往往非常严亘,所以当我们进行这些操作时一定要仔细小心 示例:假设某软什系统最多可由个用户同时使用,用户号为 那么如下程序存在 问题。 仅供内部使用48 软件编程规范总则 质量保证 为时,将使用 越界。可采用如下方式解决。 :认真处理程序所能遇到的各种出错情况。 :系统运行之初,要初始化有关变量及运行环境,防止未经初始化的变量被引用。 :系统运行之初,要对加载到系统中的数据进行一致性检查。 说明:使用不一致的数据,容易使系统进入混乱状态和不可知状态 :严禁随意更改其它模块或系统的有关设置和配置。 说明:编程时,不能随心所欲地史改不属于自己模块的有关设置如常量、数组的大小等 :不能随意改变与其它模块的接口。 :充分了解系统的接口之后,再使用系统提供的功能。 示例:在型札的各模块与操作系统的接∏凶薮中,有个要由各模块负责编写的初始化 过程,此过程在软件系统加载完成后,由操作系统发送的初始化消息来调度。因此就涉及 到初始化消息的类型与消息发送的顺序问题,特别是消息顺序,若没搞淸楚就开始编程, 很容易引起严重后果。以下示例引自型曾出现过的实际代码,其中使用了 初始化消息类型,注意型机的系统是在 仅供内部使用49 软件编程规范总则 质量保证 之前发送 的 初始化 仅供内部使用50

...展开详情
试读 19P 华为软件开发规范3
立即下载
限时抽奖 低至0.43元/次
身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚钱or赚积分
最新推荐
华为软件开发规范3 16积分/C币 立即下载
1/19
华为软件开发规范3第1页
华为软件开发规范3第2页
华为软件开发规范3第3页
华为软件开发规范3第4页

试读结束, 可继续读2页

16积分/C币 立即下载