LDRA Testbed
编 码 规 则 列 表
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 CASE语句为空 ........................................................................................................................... 2 使用无限循环 .............................................................................................................................. 2
Testbed C语言编码规则 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 在结构体定义中使用位域 .......................................................................................................... 5 使用SETJMP/LONGJMP ........................................................................................................ 5 使用禁用的过程,函数,文件或名称 ...................................................................................... 5 重新定义C++关键字 .................................................................................................................. 5 数组越界 ...................................................................................................................................... 5 在SWITCH语句中没有DEFAULT 语句 ............................................................................... 5 对有符号类型进行移位操作 ...................................................................................................... 5 移位运算溢出 .............................................................................................................................. 5 禁止给无符号变量赋负值 .......................................................................................................... 5 使用逗号操作符 .......................................................................................................................... 5 长度操作符SIZEOF的副作用 .................................................................................................. 5 禁止对实数类型的变量做相等比较操作 .................................................................................. 5 使用不起作用的语句 .................................................................................................................. 5 存在空语句 .................................................................................................................................. 5 IF语句中没有ELSE分支 ......................................................................................................... 5 禁止SWITCH语句为空 ............................................................................................................ 5 SWITCH语句中只包含DEFAULT ......................................................................................... 6
Testbed C语言编码规则 86 87 88 89 90 93 95 96 97 98 99 100 103 104 105 106 107 108 109 110 111 112 113 115 116 117 118 119
SWITCH语句中的CASE语句没有由BREAK语句来终止 ................................................. 6 过程/函数的参数表为空 ............................................................................................................. 6 返回类型为VOID的的过程出现在表达式中 .......................................................................... 6 VOID类型的变量作为参数进行传递 ....................................................................................... 6 函数中只有RETURN语句没有返回值 .................................................................................... 6 使用#PRAGMA .......................................................................................................................... 6 指针指向比分配更大的范围 ...................................................................................................... 6 有符号的位域少于2个比特位的空间 ...................................................................................... 6 位域既不是有符号的整型也不是无符号的整型 ...................................................................... 6 声明联合 ...................................................................................................................................... 6 在头文件前有可执行代码 .......................................................................................................... 6 宏中使用了多个#和## ................................................................................................................ 6 宏定义中包含不允许的项 .......................................................................................................... 6 指针的指针超过两级 .................................................................................................................. 6 使用三字母词 .............................................................................................................................. 7 使用宽串文字(WIDE STRING LITERAL) ........................................................................ 7 使用八进制数 .............................................................................................................................. 7 使用寄存器变量 .......................................................................................................................... 7 枚举元素的初始化不完整 .......................................................................................................... 7 重新定义保留字 .......................................................................................................................... 7 用指针进行代数运算 .................................................................................................................. 7 嵌入汇编程序时,嵌入的过程不是纯汇编程序 ...................................................................... 7 字符类型没有标明是有符号还是无符号 .................................................................................. 7 对变量重命名 .............................................................................................................................. 7 在枚举中重复使用一个名字 ...................................................................................................... 7 给变量赋的值与其类型不一致 .................................................................................................. 7 对指针变量使用强制类型转换 .................................................................................................. 7 对其它类型变量强制转换成指针变量 ...................................................................................... 7
上海创景计算机系统有限公司 5
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新教育文库22.LDRA - Testbed - C语言编码规则列表1.0 全文阅读和word下载服务。
相关推荐: