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

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

排名说明:

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

 第九名:编码规范类

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

第八名:接口类

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

第七名:参数变量类

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

第六名:功能类

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

第五名:资源冲突类

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

第四名:低效繁琐类

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

第三名:控制流程类

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

第二名:异常保护类

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

第一名:内存使用类

  • 内存泄漏
  • 使用非法内存
  • 内存越界
  • 栈溢出
时间: 2024-11-11 03:37:10

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

Verilog与SystemVerilog编程陷阱:如何避免101个常犯的编码错误

这篇是计算机类的优质预售推荐>>>><Verilog与SystemVerilog编程陷阱:如何避免101个常犯的编码错误> 编辑推荐 纠错式学习,从"陷阱"中学习编程,加深对语言本身的理解. 逆向式学习,从错误中学习避免错误的方法,让读者写出更好的代码. 案例式学习,将101个"陷阱"分类汇编,以针对性案例引导读者掌握编程要点. 译者序 译者序 随着电子设计自动化(Electronic Design Automation,EDA)

一个让人崩溃的编码错误

最近写了一个接受socket数据包,然后再重组上层协议包的东西.每次read到数据就将数据添加到一个链表的尾部,然后检查是否收到了一个完整的包.为了减少内存碎片,把用过的链表节点添加到另外一个链表中,这样下次可以从这个cache链表中重用节点. 在debug的时候我把cache list中的数据打印出来,代码如下: struct seg_node {     void* buf;     unsigned int capacity;     void* data; /* data >= buf,

关于Apache默认编码错误,导致网站乱码的解决方案

最近经常有同学在使用LAMP/WAMP时,遇到这样的编码错误问题: A网站程序编码UTF-8编码安装成功,运行成功. B网站程序编gb2312也要安装在同一服务器上. 这样就出现问题了,Apache默认编码UTF-8在解析A网站的时候没有任何问题,当运行B网站时出现的"蝌蚪文"乱码问题. 单纯的修改Apache默认编码为gb2312这样就导致A网站出现"蝌蚪文". 问题分析: 如果你在网上搜索 “apache配置”,搜到的页面大多都会建议你在httpd.conf中加

python编码错误的解决办法 SyntaxError: Non-ASCII character &#39;\xe5&#39; in file

[提出问题]. 在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息: SyntaxError: Non-ASCII character '\xe5' in file ******* ---------------------------------------------------------------------------------------------------------- [分析问题]. -----------------------------------

Python编码错误的解决办法SyntaxError: Non-ASCII character &#39;\xe5&#39; in file

[现象] 在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息: SyntaxError: Non-ASCII character '\xe5' in file ******* [原因] python的默认编码文件是用的ASCII码,而你的python文件中使用了中文等非英语字符. [解决办法] 在Python源文件的最开始一行,加入一句: # coding=UTF-8(等号换为”:“也可以) 或者 # -*- coding:UTF-8 -*- 转自[http://blog.cs

关于Django中JsonResponse返回中文字典编码错误的解决方案

解决方案:JsonResponse(data, json_dumps_params={'ensure_ascii':False}) ! data是需要渲染的字典 def master(request): data = {'这是':'主页'} return JsonResponse(data, json_dumps_params={'ensure_ascii':False}) 显示效果: 首先我们看JsonResponse()的源码: class JsonResponse(HttpResponse

python运行显示编码错误

python中运行显示编码错误一般有2种原因: 编码与译码的方式不一致 在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息: SyntaxError: Non-ASCII character '\xe5' in file ******* [原因] python解释器的默认编码文件是用的ASCII码,而你的python文件中使用了中文等非英语字符. [解决办法] 在Python源文件的最开始一行,加入一句: # coding=UTF-8(等号换为”:“也可以) 注意:等号左右两边

windows下编译java源文件的编码错误

import java.util.Arrays;public class ArrayAsAReference{ public static void main(String[] args) { int[] arr = null; System.out.println(arr); arr = new int[]{1, 2, 3, 4}; // 静态创建数组对象 System.out.println(Arrays.toString(arr)); int[] prices; prices = new

Python文件读取编码错误问题解决之(PyCharm开发工具默认设置的坑。。。)

刚接触Python学习,正准备做个爬虫的例子,谁知道代码一开始就遇到了一个大坑,狂汗啊. 问题是这样的:我通过代码爬取了博客园首页的HTML代码并存入到blog.txt文件当中,然后准备读取出来之后进行分析,可就在读取文件的这一步出现了问题. 执行读取代码的时候程序总是会抛一个叫 “UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 117274: illegal multibyte sequence