软件程序编写规范 - 下(仅供参考)

本文详细阐述了软件开发过程中的质量保证原则和规范,包括正确性、稳定性、可测试性等多个方面。强调了内存管理、错误处理和接口一致性的重要性,并提供了避免常见编程错误的指导,如内存越界、未初始化的变量引用和差1错误等。同时,提倡使用代码审查、单元测试等方法确保代码质量和维护性。
摘要由CSDN通过智能技术生成

9 质量保证

10 代码编辑、编译、审查

11 代码测试、维护

12 宏


9 质量保证

规则 9-1:在软件设计过程中构筑软件质量。

规则 9-2:代码质量保证优先原则

     (1)正确性,指程序要实现设计要求的功能。

     (2)稳定性、安全性,指程序稳定、可靠、安全。

     (3)可测试性,指程序要具有良好的可测试性。

     (4)规范/可读性,指程序书写风格、命名规则等要符合规范。

     (5)全局效率,指软件系统的整体效率。

     (6)局部效率,指某个模块/子模块/函数的本身效率。

     (7)个人表达方式/个人方便性,指个人编程习惯。

规则 9-3:只引用属于自己的存贮空间。

说明:若模块封装的较好,那么一般不会发生非法引用他人的空间。

规则 9-4:防止引用已经释放的内存空间。

说明:在实际编程过程中,稍不留心就会出现在一个模块中释放了某个内存块(如C语言指针),而另一模块在随后的某个时刻又使用了它。要防止这种情况发生。

规则 9-5:过程/函数中分配的内存,在过程/函数退出之前要释放。

规则 9-6:过程/函数中申请的(为打开文件而使用的)文件句柄,在过程/函数退出之前要关闭。

说明:分配的内存不释放以及文件句柄不关闭,是较常见的错误,而且稍不注意就有可能发生。这类错误往往会引起很严重后果,且难以定位。

示例:下函数在退出之前,没有把分配的内存释放。

typedef unsigned char BYTE;

 

int example_fun( BYTE gt_len, BYTE *gt_code )

{

    BYTE *gt_buf;

 

    gt_buf = (BYTE *) malloc (MAX_GT_LENGTH);

    ...  //program code, include check gt_buf if or not NULL.

    

    /* global title length error */

    if (gt_len > MAX_GT_LENGTH)

    {

        return GT_LENGTH_ERROR; // 忘了释放gt_buf

    }

    

    ...  // other program code

}

 

应改为如下。

int example_fun( BYTE gt_len, BYTE *gt_code )

{

    BYTE *gt_buf;

 

    gt_buf = (BYTE * ) malloc ( MAX_GT_LENGTH );

    ...  // program code, include check gt_buf if or not NULL.

    

    /* global title length error */

    if (gt_len > MAX_GT_LENGTH)

    {

        free( gt_buf  ); // 退出之前释放gt_buf

        return GT_LENGTH_ERROR;  

    }

    

    ...  // other program code

}

规则 9-7:防止内存操作越界。

说明:内存操作主要是指对数组、指针、内存地址等的操作。内存操作越界是软件系统主要错误之一,后果往往非常严重,所以当我们进行这些操作时一定要仔细小心。

示例:假设某软件系统最多可由10个用户同时使用,用户号为1-10&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值