白盒测试——C/C++编程规范(19)
本系列文章将带大家一起解析一下白盒测试经常用到的GJB-8114标准规则,其中一共有124条强制性规则。GJB-8114强制性规则是按类分的,一共有13类,前面的文章已经讲过一部分,本文继续往下讲一下函数调用类规则。

R-1-7-4
禁止使用旧形式的函数参数表定义形式


岁数比较大的人刚开始学习C语言的时候,标准的C语言的写法,在声明一个函数的时候,它参数是不给名字的,只给类型,比如说像违背示例中的类型1、类型2,现在要求必须把类型跟这个类型对应的变量名、参数名对应起来。这个规则对年轻人是没有什么影响的,可能对一些年龄比较大的人影响比较大。

R-1-7-5
函数声明和函数定义中的参数类型必须一致


前面是声明、后面是定义,我们声明的时候声明了几种类型,我们定义这个函数的时候,参数类型又变了,这个是不允许的。现在的C语言中,为了符合C++规则,有一个自动匹配的功能,认为这两个函数不是一个函数。

R-1-7-6
函数声明和函数定义中的返回类型必须一致


函数本身有一个类型,我将它声明了一个类型,我们在定义的时候,必须和声明的类型一致,如果不一致的话就是错的。

R-1-7-7
有返回值的函数必须通过返回语句返回


也就是说凡是定义了一个函数不是void类型的,一定要用return多少或者return什么来返回,只要没用return语句,就是有问题的。

R-1-7-8
禁止无返回值函数的返回语句带有返回值


像违背示例中展示的就是一个没有返回值的void,最后却返回了一个返回值,这样也是不允许的,必须是像遵循示例中展示的不带返回值的。


R-1-7-9
有返回值函数的返回语句必须带有返回值


像违背示例中展示的,这个函数本身是有类型的,所以return那里必须带一个返回值,没带返回值的就是错的。
相关推荐白盒测试——C/C++编程规范(20)       白盒测试——C/C++编程规范(18)