当前位置:首页 > 23.LDRA - Testbed - C++编码规则列表1.0
LDRA Testbed
C++ 编 码 规 则 列 表
www.visionmc.com
联系电话: 021-68534562(上海),010-62131690(北京)
028-86527582(成都),0755-3581788(深圳)
LDRA TESTBED.........................................................................................................................................................1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
过程名被重用 ..................................................................................................................................................1 标号名被重用 ..................................................................................................................................................1 文件中可执行格式化代码行超过***行 ...................................................................................................1 程序格式化代码行超过***行 .....................................................................................................................1 THEN语句为空 .............................................................................................................................................1 声明函数指针 ..................................................................................................................................................1 跳出程序体 ......................................................................................................................................................1 ELSE语句为空...............................................................................................................................................1 在非赋值表达式中出现了赋值操作符 .....................................................................................................1 未使用 ...........................................................................................................................................................1 循环体没有用大括号括起来 ...................................................................................................................1 THEN/ELSE中的语句没有用大括号括起来 .................................................................................1 使用GOTO语句 .......................................................................................................................................1 将过程定义为参数.....................................................................................................................................1 结构体定义中含有空域............................................................................................................................1 声明多重标号..............................................................................................................................................1 内嵌使用汇编代码.....................................................................................................................................2 函数参数超过***个...................................................................................................................................2 未被调用的函数使用函数作为参数......................................................................................................2 参数未使用类型声明 ................................................................................................................................2 未使用 ...........................................................................................................................................................2 使用一些模糊的语句(如=+,=-).........................................................................................................2 函数未被调用..............................................................................................................................................2 使用让工具不进行分析的注释/*LDRA_NOANALYSIS*/............................................................2 CASW语句为空 ........................................................................................................................................2 使用无限循环..............................................................................................................................................2
Testbed 术语表 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
返回类型为VOID的函数有RETURN语句 .....................................................................................2 继承类中复用基类.....................................................................................................................................2 使用-=或+=操作符.....................................................................................................................................2 使用++或者—操作符................................................................................................................................2 在循环中使用BREAK语句 ...................................................................................................................2 使用CONTINUE语句.............................................................................................................................2 使用三重表达式 .........................................................................................................................................3 对过程的声明中未对参数进行说明......................................................................................................3 圈复杂度大于*** .......................................................................................................................................3 过程不是单纯的顺序嵌套循环 ..............................................................................................................3 函数包含基本结点.....................................................................................................................................3 函数非结构化..............................................................................................................................................3 函数包含无限循环.....................................................................................................................................3 未使用的函数参数.....................................................................................................................................3 函数不是所有的路径上都有返回值......................................................................................................3 函数的实参是全局变量............................................................................................................................3 代码中有多余变量.....................................................................................................................................3 存在UR(变量未赋初值就引用)数据流异常.................................................................................3 使用函数递归调用.....................................................................................................................................3 存在DU(定义后未引用就退出作用域)数据流异常 ...................................................................3 存在DD(定义后未被引用就被再定义)数据流异常 ...................................................................3 被定义的参数可能存在CLEAR PATH..............................................................................................3 在函数内部使用全局变量 .......................................................................................................................3 参数与期望的作用不匹配 .......................................................................................................................4 被引用的变量可能存在CLEAR PATH..............................................................................................4 函数中全局变量使用与局部变量作用类似 ........................................................................................4 改变变量已被传递的值............................................................................................................................4 存在未被使用的过程参数 .......................................................................................................................4
上海创景计算机系统有限公司 3
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 71 72 74 75 76 77 78 80 81 82 83 84 85
函数调用中存在相同的实参 ...................................................................................................................4 局部变量对结果没有意义 .......................................................................................................................4 函数有多入口..............................................................................................................................................4 函数有多出口..............................................................................................................................................4 静态过程没有被调用 ................................................................................................................................4 函数没有返回语句.....................................................................................................................................4 过程参数只有类型没有标识符 ..............................................................................................................4 使用静态类成员 .........................................................................................................................................4 使用不恰当的循环变量类型 ...................................................................................................................4 循环变量必须是局部的............................................................................................................................4 在函数参数表中使用省略号 ...................................................................................................................4 在结构体定义中使用位域 .......................................................................................................................4 使用SETJMP/LONGJMP .....................................................................................................................5 使用禁用的过程,函数,文件或名称 .................................................................................................5 未使用 ...........................................................................................................................................................5 数组越界.......................................................................................................................................................5 在SWITCH语句中没有DEFAULT 语句 .........................................................................................5 对有符号类型进行移位操作 ...................................................................................................................5 移位运算溢出..............................................................................................................................................5 禁止给无符号变量赋负值 .......................................................................................................................5 使用逗号操作符 .........................................................................................................................................5 长度操作符SIZEOF的副作用 ..............................................................................................................5 禁止对实数类型的变量做相等比较操作.............................................................................................5 使用不起作用的语句 ................................................................................................................................5 存在空语句 ..................................................................................................................................................5 IF语句中没有ELSE分支 ......................................................................................................................5 禁止SWITCH语句为空 .........................................................................................................................5 SWITCH语句中只包含DEFAULT ....................................................................................................5
共分享92篇相关文档