更多课程 选择中心

嵌入式培训
达内IT学院

400-996-5531

嵌入式er日常系列!阅读代码的一些心得体会

  • 发布: 嵌入式ARM
  • 来源: 嵌入式ARM
  • 时间:2017-11-21 15:49

嵌入式er日常系列!阅读代码的一些心得体会

静态阅读代码,是需要自己也有一定理解调节才能够完成任务的,如果不知道代码的实现效果(目的),那就需要引入深入的调试/bug过程,通过查看运行输入/输出的差别/或其他,来理解代码的目的。

据说,作为一个优秀的程序员,他是在阅读/调试/删除代码。目前,就阅读代码而言,总结一下目前的一些心得体会吧。(高手就不用看了)

此时,我正弄音视频流媒体直播传输的一个东东,跟队友合作,写一个循环缓冲区,为的是我把视频码流写入缓冲区里面,他就从里面读取出来。

反正,我写了一个测试用例:读写函数都是一个,直接封装,没有子函数,包括出错/异常处理都在一个函数里面,边界检测:满/空直接封在里面。然后他喷我一脸。

他也写了一个,测试用例:读写函数也是一个,不过,是作为底层调用,明显地比我简洁。

额,在这里不是为了对比两者,而是:我将要修改他的代码,调试出我之前的测试用例的效果:数据长度随机(读写对应),而他的是固定一个长度(100字节吧)

显然,我的测试用例更具备一般化,但是,他的函数封装却比我的具备更强的移植性。

那我要阅读他的代码,是有前提条件的:

我理解循环缓冲区的机制(也就是读写过程)、并且能够合理使用库/系统API等工具、能够明白当前我所需要的测试用例(也就是最终要的使用效果)。

在上面的条件下,我才去阅读他的代码,显然,20分钟完成任务,并且理解(也不用太多调试,就是静态阅读代码即可知道运行结果那种),所以,我可以知道他的接口存在哪些缺陷(边界满不对:当我需要写入100字节的时候,是需要判断是否能够容纳100字节,而不是仅判断缓冲区已经被占满datalen==buflen),还有一个是锁的位置)

今天就不给出示例代码了,毕竟有点过。

本文内容转载自网络,本着分享与传播的原则,版权归原作者所有,如有侵权请联系我们进行删除!

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:知识贴|嵌入式Linux启动过程详解
下一篇:嵌入式操作系统的物联网安全性保障

嵌入式工程师离不开的的IC设计软件

工程师用到的PCB设计软件你用过几个?

看嵌入式Linux设备驱动module_init 的神奇之处!

嵌入式干货分享之你不可不知的嵌入式领域中的各种文件系统

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省