嵌入式系统C代码走查检查单.docxVIP

  • 28
  • 0
  • 约1.59千字
  • 约 2页
  • 2023-09-19 发布于上海
  • 举报
嵌入式系统C 代码走查检查单 嵌入式系统C 代码走查检查单 版本号/修改码:A/01第 PAGE 版本号/修改码:A/01 第 PAGE 1页,共2页 嵌入式系统 C 代码走查检查单 编号: 检查内容 一、变量声明 是否涵盖 项目编号项目名称 项目编号 项目名称 检查人 检查日期 1. 变量命名是否直观,前缀是否表示了变量类型 是 否 2. 宏定义和常量是否全用大写的字母 是 否 3. 静态变量是否加前缀 s_ 是 否 4. 全局变量是否尽可能的少用,全局变量是否加前缀g_ 是 否 5. 是否尽量避免了使用强制类型转换;如果不得不作类型转换,是否用了显 是 否 式方式 6. 是否在定义变量的同时初始化该变量 是 否 是否没有定义了但不使用的变量 是 否 二、基本语句 7. 是否没有将浮点变量用“==”或“!=”与数字比较 是 否 8. 是否没有在 for 循环体内修改循环变量 是 否 9. 在循环中是否谨慎的使用了 break 和 continue,没有将需要在 break 或 continue 之前处理的语句写到了其后 是 否 10. 每个 case 语句的结尾是否都有break,除了有意设计的重叠 是 否 11. switch 后是否都有最后的default 分支 是 否 12. 是否没有使用goto 语句 是 否 三、结构体和指针 13. 结构体初始化和善后是否都清空了 是 否 14. 是否成对使用了 malloc, free,没有未释放的内存或者释放未申请的无效地 是 否 址 15. Malloc 后是否检查了分配成功 是 否 16. 释放前是否检查了不为 NULL,释放后是否及时置 NULL 是 否 四、函数设计 17. 函数体的规模是否控制在 200 行代码之内,单个函数的分支路径是否控制在 10 条以内; 除了函数入口处的参数合法性检查外,函数出口是否尽可能 是 否 唯一 是否显式定义了返回类型,并有返回值; 对重要的被调函数,调用后是否判断了返回值 是 否 20. 如果参数是指针,且仅作输入用,是否在类型前加const, 是 否 21. 函数的参数个数是否控制在 5 个以内,如果有个别函数超过 5 个参数,那 是 否 么这类函数占整个软件的百分比是否5% 22. 是否使用了类型和数目不确定参数的函数(除了调试打印的printf) 是 否六、程序版式 23. 函数之前和之后是否都加空行 是 否 24. 函数体内的空行是否合适 是 否 25. 一行代码是否只做一件事情 是 否 26. if、for、while、do 等语句是否自占一行 是 否 27. 分界符‘{’和‘}’是否独占一行并且位于同一列,同时与引用它们的语 是 否 句左对齐 28. 缩进是否合格 是 否 29. 每行代码的长度是否在 80 个字符以内 是 否 注释是否及时更新,与代码一致; 注释和代码的比例是否达到 1:5 是 否 32. 复杂段落的结束处是否加了注释 是 否 33. 源程序头的注释是否合格 是 否 34. 函数头的注释是否合格 是 否 35. 头文件是否使用ifndef/define/endif 结构产生预处理块 是 否 是否用 #include filename.h 格式来引用标准库的头文件, 用 #include “filename格.h式”来引用非标准库的头文件 是 否 38. 是否对项目专用的功能用编译选项隔离 是 否 39. 6.走查时其他注意的地方 40. If、else 等分支的逻辑,特别是嵌套时,是否和设计意图一致 是 否 41. 是否有无用的代码和注释 是 否 42. 对数组的边界操作是否合适,没有越界 是 否 43. 循环时的最大、最小边界是否正确 是 否 44. 重要的算法是否易于理解、维护 是 否

文档评论(0)

1亿VIP精品文档

相关文档