1. 格式
嵌套的IF是否正确地缩进 注释是否准确并有意义 是否使用有意义的标号
代码是否基本上与开始时的模块模式一致 是否遵循全套的编程标准 2. 程序语言的使用
是否使用一个或一组最佳动词
模块中是否使用完整定义的语言的有限子集 是否使用的适当的转移语句 3. 数据引用错误
是否引用了未初始化的变量
数组和字符串的下标是整数值吗?下标总是在数组或字符串的大小范围之内吗? 是否应该在使用常量的地方使用了变量 变量是否被赋予了不同类型的值
一个数据结构是否在多个函数或者子程序中引用,在每一个引用中明确定义了结构
了吗
4. 数据声明错误
所有变量都赋予正确的长度、类型和存储类了吗?如需要字符串的变量声明为字符
数组了
变量是否在声明的同时进行了初始化?是否正确初始化并与其类型一致? 变量有相似的名称吗?是否自定义变量使用了系统变量名? 存在声明过但是从未引用或只引用一次的变量吗? 在特定模块中所有变量都显式声明了吗?如果没有,是否可以理解为该变量与更高
级别的模块共享?
5. 计算错误
计算中是否使用了不同数据类型的变量?如整型数与浮点数相加 计算中是否使用了不同数据类型的变量?如字节与字相加
计算时是否了解和考虑到编译器对类型和长度不一致变量的转换规则? 赋值的目的变量是否小于赋值表达式的值 在数值计算过程中是否可能溢出 除数/模是否可能为0
对于整型算术运算,特别是除法的代码处理是否丢失精度 变量的值是否超出有意义的范围
对于包含多个操作数的表达式,求值的次序是否混乱,运算的优先级是否正确 6. 比较错误
比较正确吗?如小于与小于等于常发生混淆
存在分数或者浮点值之间的比较吗?如果有,精度问题会影响比较吗
每一个逻辑表达式都正确吗?逻辑计算如期进行了吗?求值次序有问题吗? 逻辑表达式的操作数是逻辑值吗?如包含整型数的整型变量用于逻辑计算 7. 入口和出口的连接
初始入口和最终出口是否正确
8.
9.
10.
11.
12.
13.
对另一个模块的每一次调用是否恰当?如全部所需的参数是否传递给每一个被调
用的模块?被传送的参数值是否正确的设置?对关键的被调用模块的意外情况是否处理?
每个模块的代码是否只有一个入口和一个出口? 存储器的使用
每个域,在其第一次被使用前是否正确初始化? 规定的域正确否?
每个域是否有正确的变量类型声明 控制流错误
如果程序包含Begin-End、Do-While等语句组,End是否对应?程序、模块、子程
序和循环能否终止?如果不能,可以接受吗? 可能存在永远不停的循环码?
存在循环从不执行吗?如果存在,可以接受吗?
如果程序包含像Switch-Case等多分支语句,索引变量能超出可能的分支数目吗?
如果超出,该情况能正确处理吗?
是否存在丢掉一个错误,导致意外进入循环?
代码执行路径是否已全部覆盖?是否能保证每条源代码语句至少执行一次? 子程序参数错误
子程序接收的参数类型、大小与调用代码发送的匹配吗?次序正确吗? 如果子程序有多个入口点,引用的参数是否与当前入口点没有关联? 常量当做形式参数传递时,是否意外在子程序中改动? 子程序是否改变了仅作为输入值的参数? 每一个参数的单位是否与相应的形参匹配?
如果存在全局变量,在所有引用子程序是否有相似的定义和属性? 输入输出错误
软件是否严格遵守外部设备读写数据的专用格式
文件或外设不存在或者未准备好的错误情况下有处理吗
软件是否处理外部设备未连接、不可用或者读写过程中存储空间沾满等情况? 软件以预期方式处理预计的错误了吗?
检查错误提示信息的准确性、正确性、语法和拼写了吗 逻辑和性能
全部设计已实现否 逻辑被最佳地编码否
提取正确的错误/例外子程序否 每一个循环执行正确的次数否 维护性和可靠性
清单格式适于提高可读性否
标号和子程序符合代码的逻辑意义否 对从外部接口采集的数据有确认否 遵循可靠性编程要求否 是否存在内存泄露的问题
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务