白盒测试CC编程规范12

2023-3-19 来源:不详 浏览次数:

本系列文章将带大家一起解析一下白盒测试经常用到的GJB-标准规则,其中一共有条强制性规则。GJB-强制性规则是按类分的,一共有13类,前面的文章已经讲过一部分,本文继续往下进行。

R-1-3-7动态指针变量定义时如未分配空间必须初始化为空

像违背示例中展示的,我们在声明一个全局变量的指针变量的时候,往往因为它是一个空指针,而不把它赋一个空的值。实际上大多数是直接初始化为空的,但是在有些操作系统中,在判断它是否为空的时候,它不为空,就会往下执行,就出错了。

R-1-3-8动态分配的指针变量第一次使用前必须判断是否为空

比如说像违背示例中展示的,一上来直接为指针分配了一个地址,会造成什么问题呢?比如说我这个指针不是空的,已经为它分配好了地址,又重新为它分配了地址,它原来分配的那块空间就被丢失了,这样就会造成我们整个的存储越来越大,但是又不能为程序所用,但是这个问题有可能是检测不到的。

R-1-3-9空指针必须使用NULL,禁止使用整形数0

NULL在不同的编译器里,它的赋值有可能是不同的,在有些里是0,有些里就不是0,所以你要是把它赋成0的话,就有可能会出问题,所以说不允许用0来代替NULL。

R-1-3-10禁止文件指针在程序退出时没有关闭文件

比如说我们往一个文件里写或者读,我们打开这个文件,读了一些,退出的时候没有关闭这个文件。

这样会造成什么问题呢?就是我们读指针的时候,是读了一段数据以后,读指针往后移了,这时候它是占了一个读写的操作,也就是说通常我们说它是占了一个通道。

如果你老这样不释放,等于是占用的资源,但是资源个数是有限的。比说说一个for循环里你这样用,占用一个资源没有释放,这个资源就一直被它占着,再申请一个资源,又占一个......到最后一定是把这个资源给耗空了,你再打开文件的时候就打不开了,因为没有资源了,所以一定要把它释放,这是第一点。

再有就是,当你往里写东西的时候,如果你不把它关闭,不把这个资源释放,那么有些东西永远也写不进去,这个文件就丢失了数据。

转载请注明:
http://www.wanruiguanye.com/bzsx/77435556.html
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 网站首页 版权信息 发布优势 合作伙伴 隐私保护 服务条款 网站地图 网站简介

    温馨提示:本站信息不能作为诊断和医疗依据
    版权所有 2014-2024
    今天是: