【转载】C嵌入式软件的编码错误爬行榜

原文链接:http://blog.csdn.net/myaccella/article/details/7008168

排名说明:

  • 该排名是针对n次走读结果的统计
  • 该排名的走读产品为C编写的嵌入式软件

 第九名:编码规范类

  • 变量命名不一致
  • 运算符和表达式不易理解
  • 过度使用编码技巧减低了可读性
  • 直接使用数字常量而非宏定义
  • 书写不一致等等

第八名:接口类

  • 函数参数类型或个数不一致
  • 模块间常量或宏重复定义且不一致
  • 头文件和库不一致,不同版本

第七名:参数变量类

  • 使用未初始化变量
  • 重新使用前没有reset
  • 不恰当的变量类型定义
  • 初始化不完整
  • 变量重命名

第六名:功能类

  • 功能分支不全
  • 缺少部分操作或数据
  • 信息诊断有误
  • 缺少调试和测试功能
  • 故障没有检测和自愈功能

第五名:资源冲突类

  • 资源不作保护
  • 资源不当保护
  • 公共资源丢失

第四名:低效繁琐类

  • 算法效率低下
  • 同样的代码块重复多次
  • 用小步进的for循环在数据块间拷贝数据
  • 冗余语句
  • 可用switch/case却用if...if...if语句

第三名:控制流程类

  • 条件控制不完整
  • 循环的起点和终点不正确
  • 不正确的函数调用
  • 跳转和返回不及时
  • 匹配操作未匹配使用

第二名:异常保护类

  • 遗漏必要保护
  • 保护不够严密
  • 保护处理不可靠
  • 断言错误

第一名:内存使用类

  • 内存泄漏
  • 使用非法内存
  • 内存越界
  • 栈溢出
原文地址:https://www.cnblogs.com/codecamel/p/4582887.html