――常量是否都是通过“#define”定义的?
――用于多个文件中的常量是否在一个头文件中定义?
――头文件中是否存在可执行的代码?
――定义为指针的变量是否作为指针使用(而不是作为整数)?
――指针是否初始化?
――释放内存后是否将指针立即设置为NULL(或0)?
――传递指针到另一个函数的代码是否首先检查了指针的有效性?
――通过指针写入动态分配内存的代码是否首先检查了指针的有效性?
――宏的命名是否都大写?
――数组是否越界?
(4)接口:
――在所有的函数及过程调用中,参数的个数都正确吗?
――形参与实参类型匹配吗?
――参数顺序正确吗?
――如果访问共享内存,是否具有相同的共享内存结构模式?
(5)文档:
――软件文档是否与代码一致?
(6)注释:
――注释与代码是否一致?
――用于理解代码的注释是否提供了必要的信息?
――是否对数组和变量的作用进行了描述?
(7)异常处理:
――是否所有可能的错误都已加以考虑?
(8)内存:
――在向动态分配的内存写入之前是否检查了内存申请是否成功?
――若采用动态分配内存,内存空间分配是否正确?
――当内存空间不再需要时,是否被明确的释放?