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

R-1-1-13函数声明中必须对参数类型进行声明,并带有变量名



违背示例中所举的例子,在最早的C语言中是标准的定义,但是现在要求,凡是不带参数的要写上void,带参数的不能光写它的类型,同时要有一个它的名字。通常我们在写函数体中是肯定带这个名字的,但是在函数声明中,有些人为了简略,或者有些年龄比较大的人,学C语言比较早的人就会容易不带变量名去写声明。
这个在编译器里是直接通过的,没有任何问题,但是要求不允许这样做。这样做会引起什么后果呢?可以很负责任地说不会引起什么后果,这就是一个强制性的规则。

R-1-1-14函数声明必须与函数原型一致;一致性要求包括函数类型,参数类型和参数名


这个在我们的实际操作过程中,往往是先写了一个标准的函数,然后把函数定义的部分直接就复制到函数声明中去,这样就不会引起错误。但是有些人是先构造了一些函数,再具体写这些函数实现,这样往往就会导致函数的参数名前后不一致了。

比如违背示例中展示的,在实现中,用了一个length、一个width,但是在声明中声明了一个length一个b。实际上这个编译也不会有任何问题,但是要求是不允许的。同时这个例子中,它的声明和定义就不是一个函数,如果在写程序的过程中,如果出现这种情况,就会发现,链接提示找不到那个函数,它俩并不被认为是一个函数。
相关推荐白盒测试——C/C++编程规范(3)       白盒测试——C/C++编程规范(1)