嵌入式系统C代码走查检查单(编程必看).doc
嵌入式系统C代码走查检查单 嵌入式系统C代码走查检查单是指在编写和维护嵌入式系统C代码时,需要遵守的一系列规范和检查项。这些规范和检查项旨在确保代码的可读性、可维护性和可靠性,避免常见的错误和 Bug。 一、变量声明 * 变量命名是否直观,前缀是否表示了变量类型 * 宏定义和常量是否全用大写的字母 * 静态变量是否加前缀s_ * 全局变量是否尽可能的少用,全局变量是否加前缀g_ * 是否尽量避免了使用强制类型转换;如果不得不作类型转换,是否用了显式方式 * 是否在定义变量的同时初始化该变量 * 是否没有定义了但不使用的变量 这些检查项旨在确保变量的命名和使用符合规范,避免出现命名不规范、类型转换不当等问题。 二、基本语句 * 是否没有将浮点变量用“==”或“!”与数字比较 * 是否没有在for 循环体内修改循环变量 * 在循环中是否谨慎的使用了break和continue,没有将需要在break或continue之前处理的语句写到了其后 * 每个case语句的结尾是否都有break,除了有意设计的重叠 * switch后是否都有最后的default分支 * 是否没有使用goto语句 这些检查项旨在确保基本语句的使用符合规范,避免出现逻辑错误和goto语句的使用。 三、结构体和指针 * 结构体初始化和善后是否都清空了 * 是否成对使用了malloc, free,没有未释放的内存或者释放未申请的无效地址 * Malloc后是否检查了分配成功 * 释放前是否检查了不为NULL,释放后是否及时置NULL 这些检查项旨在确保结构体和指针的使用符合规范,避免出现内存泄露和指针错误。 四、函数设计 * 函数体的规模是否控制在200行代码之内,单个函数的分支路径是否控制在10条以内 * 除了函数入口处的参数合法性检查外,函数出口是否尽可能唯一 * 是否显式定义了返回类型,并有返回值 * 对重要的被调函数,调用后是否判断了返回值 * 如果参数是指针,且仅作输入用,是否在类型前加const * 函数的参数个数是否控制在5个以内,如果有个别函数超过5个参数,那么这类函数占整个软件的百分比是否<5% * 是否使用了类型和数目不确定参数的函数(除了调试打印的printf) 这些检查项旨在确保函数的设计和实现符合规范,避免出现函数体过大、参数不规范等问题。 五、程序版式 * 函数之前和之后是否都加空行 * 函数体内的空行是否合适 * 一行代码是否只做一件事情 * if、for、while、do等语句是否自占一行 * 分界符‘{’和‘}’是否独占一行并且位于同一列,同时与引用它们的语句左对齐 * 缩进是否合格 * 每行代码的长度是否在80个字符以内 * 注释是否及时更新,与代码一致 * 注释和代码的比例是否达到1:5 * 复杂段落的结束处是否加了注释 * 源程序头的注释是否合格 * 函数头的注释是否合格 * 头文件是否使用ifndef/define/endif结构产生预处理块 * 是否用 #include <filename.h> 格式来引用标准库的头文件 * 用 #include “filename.h” 格式来引用非标准库的头文件 * 是否对项目专用的功能用编译选项隔离 这些检查项旨在确保代码的格式和注释符合规范,易于阅读和维护。 六、其他注意的地方 * If、else等分支的逻辑,特别是嵌套时,是否和设计意图一致 * 是否有无用的代码和注释 * 对数组的边界操作是否合适,没有越界 * 循环时的最大、最小边界是否正确 * 重要的算法是否易于理解、维护 这些检查项旨在确保代码的逻辑和算法符合设计意图,避免出现逻辑错误和算法不易理解的问题。
- 粉丝: 5
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助