您的位置:首页 > 编程语言

代码检查错误列表总结

2011-05-24 23:38 232 查看

数据引用错误

是否有变量使用前未赋值或初始化
下标值是否越界(上越界,下越界)
是否有非整数下标
是否有虚调用(悬挂指针,没有内存空间)
当使用别名时,属性是否正确
记录和结构的属性是否匹配(存储形式)
是否计算位串地址,是否传递位串参数(字节边界)
基础存储属性是否正确
跨过程的结构定义是否匹配(多过程,多子程序使用中)
索引或下标是否有“仅差一个”的错误
继承需求是否满足

运算错误

是否有非运算变量间的运算(数组,字符串)
是否有混合模式的运算(类型不同)
是否存在不同字长变量间的运算
目标变量大小是否小于赋值大小(空间不足)
中间结果是否上溢或下溢
是否除零
是否存在二进制不精确度(3.14*100=314?)
变量值是否超过有意义范围
操作符优先顺序是否正确
整数除法是否正确((n/2)*2 = n ?, n为偶数成立,n为奇数不成立)

数据声明错误

是否所有变量已声明
默认属性是否正确理解
数组和字符串初始化是否正确
变量是否赋予正确长度,类型,存储类型
初始化是否与存储类一致
是否有相似变量名(num与nums)

输入输出错误

文件属性是否正确
OPEN语句是否正确
I/O语句是否规范
缓冲大小与记录大小是否匹配
文件在使用前是否打开
文件在使用后是否关闭
文件结束条件是否正确处理
是否处理I/O错误
输出结果中是否有文字或语法错误

控制流程错误

是否有多条分支路径
是否每个循环都终止
是否每个程序都终止
是否存在由于入口条件不满足而跳过循环的情况
可能的循环越界是否正确
是否存在“仅差一个”迭代错误(除(i=0; i<n; i++)外的都有嫌疑)

比较错误

是否存在不同类型变量比较(string与指针,日期与数字)
是否有混合模式比较
比较运算符是否正确(“至多”、“至少”、“大于”、“不小于”、“等于”)
布尔表达式是否正确(&&、||、!)
比较运算符和布尔表达式是否混合(10<x<20→(0/1) < 20)
是否存在二进制小数比较
操作符优先顺序是否正确
编译器是否对布尔表达式计算方式正确(if(x==0 && (y/x)>z),注意有些与两边都计算,出现除零)

接口错误

形参与实参数量是否匹配
形参与实参属性是否匹配
形参与实参量纲是否匹配
形参与实参个数是否匹配
形参与实参顺序是否匹配
全局变量定义在模块中是否一致
常数是否以实参形式传递

其它检查

交叉应用列表中是否有未引用过的变量
是否有“警告”和“提示”信息(处理之)
是否对输入的合法性进行了检查
是否遗漏了功能
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: