所在的位置: C++ >> C++介绍 >> 白盒测试CC编程规范26

白盒测试CC编程规范26

全国治白癜风最好医院 https://jbk.39.net/yiyuanfengcai/yyjs_bjzkbdfyy/

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

这类一共有16条,实际上是涉及到一些命名规则的标准。R-1-13-1禁止局部变量与全局变量同名

比如说违背示例中,有一个全局变量,那么我们的局部变量就不允许再使用这个。这个局部变量还包括什么呢?大家一定要记住还包括里面的参数,也就是说这个参数也不允许与全局变量同名。R-1-13-2禁止函数形参与全局变量同名

这个违背示例中展示的很清楚了,就不解释了。R-1-13-3禁止函数与全局变量同名

现在好像很少这样做了,原来很多人做加解密的时候,定义一个变量,给它分配一个空间,自己装入二进制码,然后直接把程序都控制成相应的变量,这个变量就跟子程序就一样了,这个时候你就分不清到底是子程序还是变量,所以会要求不能同名。R-1-13-4禁止变量与标识同名

我们定义了很多的类型、结构,给它取了一些的标识,然后定义的变量跟这个标识重名了,是不允许这样的。尽管有时候不会出问题,但是也是不允许的。R-1-13-5禁止变量与枚举同名

这个变量跟枚举里的某一个元素同名也是不允许的。R-1-13-6禁止用自定义关键字做为变量名

像违背示例中展示的,你定义了一种关键字,把某一种类型定义成了自己比较熟悉的名字,然后又把它做成了变量名,这是不允许的。R-1-13-7禁止在模块内部重定义变量

这个在C++中这样写有可能不会出问题,编译也不会出问题。但是C++中有一个作用域的概念,不同的乘积里面,可以多次定义这个变量。现在有的编译器已经对这种情况进行了限制,要求不能重复定义。还有一个问题,在这里要引申一下。通常咱们学C++的人,书上会告诉你,用一个变量的时候,尽量离我们用的最近的地方定义这个变量,但是现在咱们的规则里规定,所有的变量都在函数头上定义,都在前面定义,后面可以用。你有可能在一个函数前面定义一个变量,在一个两三百行的函数中最后几行才用到这个变量,这也是有可能的。




转载请注明:http://www.aierlanlan.com/rzfs/3160.html

  • 上一篇文章:
  •   
  • 下一篇文章: