――常量是否都是通过“#define”定义的?

  ――用于多个文件中的常量是否在一个头文件中定义?

  ――头文件中是否存在可执行的代码?

  ――定义为指针的变量是否作为指针使用(而不是作为整数)?

  ――指针是否初始化?

  ――释放内存后是否将指针立即设置为NULL(或0)?

  ――传递指针到另一个函数的代码是否首先检查了指针的有效性?

  ――通过指针写入动态分配内存的代码是否首先检查了指针的有效性?

  ――宏的命名是否都大写?

  ――数组是否越界?

  (4)接口:

  ――在所有的函数及过程调用中,参数的个数都正确吗?

  ――形参与实参类型匹配吗?

  ――参数顺序正确吗?

  ――如果访问共享内存,是否具有相同的共享内存结构模式?

  (5)文档:

  ――软件文档是否与代码一致?

  (6)注释:

  ――注释与代码是否一致?

  ――用于理解代码的注释是否提供了必要的信息?

  ――是否对数组和变量的作用进行了描述?

  (7)异常处理:

  ――是否所有可能的错误都已加以考虑?

  (8)内存:

  ――在向动态分配的内存写入之前是否检查了内存申请是否成功?

  ――若采用动态分配内存,内存空间分配是否正确?

  ――当内存空间不再需要时,是否被明确的释放?