• 代码检查错误列表总结


    • 数据引用错误

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

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

    1. 是否所有变量已声明
    2. 默认属性是否正确理解
    3. 数组和字符串初始化是否正确
    4. 变量是否赋予正确长度,类型,存储类型
    5. 初始化是否与存储类一致
    6. 是否有相似变量名(num与nums)
    • 输入输出错误

    1. 文件属性是否正确
    2. OPEN语句是否正确
    3. I/O语句是否规范
    4. 缓冲大小与记录大小是否匹配
    5. 文件在使用前是否打开
    6. 文件在使用后是否关闭
    7. 文件结束条件是否正确处理
    8. 是否处理I/O错误
    9. 输出结果中是否有文字或语法错误
    • 控制流程错误

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

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

    1. 形参与实参数量是否匹配
    2. 形参与实参属性是否匹配
    3. 形参与实参量纲是否匹配
    4. 形参与实参个数是否匹配
    5. 形参与实参顺序是否匹配
    6. 全局变量定义在模块中是否一致
    7. 常数是否以实参形式传递
    • 其它检查

    1. 交叉应用列表中是否有未引用过的变量
    2. 是否有“警告”和“提示”信息(处理之)
    3. 是否对输入的合法性进行了检查
    4. 是否遗漏了功能
  • 相关阅读:
    关于C++值传递与引用传递的汇编层面分析
    scrapy抓取的中文结果乱码解决办法
    scrapy抓取的中文结果乱码解决办法
    CSS选择器
    CSS选择器
    xpath选择器
    操作系统知识
    鸟哥的私房菜:Bash shell(五)-数据流重导向
    鸟哥的私房菜:Bash shell(四)-Bash shell的使用环境
    鸟哥的私房菜:Bash shell(三)-命令别名与历史指令
  • 原文地址:https://www.cnblogs.com/hustlijian/p/2056102.html
Copyright © 2020-2023  润新知