据说,作为一个优秀的程序员,他是在阅读/调试/删除--代码。目前,就阅读代码而言,我写一下我目前的一些心得体会吧。(高手绕道)

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

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

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

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

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

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

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

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

嗯,暂时不给示例代码,毕竟有点过,不过可以总结:

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

阅读代码的一些心得体会相关推荐

  1. 怎么阅读论文,写心得体会

    收集资料: 阅读学术论文的心得体会! 如何阅读学术论文–和上一篇类似 大牛写论文的心得 几年的写论文和审稿心得 文献阅读心得体会格式: 1.看论文题目,做出论文类别判别. 新理论.新方法.解决新问题– ...

  2. Android开发人员不得不收集的代码,面试心得体会

    一.认识鸿蒙 鸿蒙 微内核是基于微内核的全场景分布式OS,可按需扩展,实现更广泛的系统安全,主要用于物联网,特点是低时延,甚至可到毫秒级乃至亚毫秒级. 鸿蒙OS实现模块化耦合,对应不同设备可弹性部署, ...

  3. java实训意义_java实习心得体会

    通过java实习,我自身发生了重大的转变,我相信我会在JAVA开发这条路上走的更长更远,分享心得体会.下面是学习啦小编为大家收集整理的java实习心得体会,欢迎大家阅读. java实习心得体会篇1 经 ...

  4. java实验总结与心得_java实验心得体会范例精选

    ​[导语]Java具有简单性.面向对象.分布式.健壮性.安全性与可移植性.多线程.动态性等特点.Java可以编写桌面应用程序.Web应用程序.分布式系统和嵌入式系统应用程序等.以下是无忧考网为大家精心 ...

  5. python语言的实验心得体会范文_实验报告个人心得体会范文

    实验报告个人心得体会范文 实验后的实验报告让我们有了总结回顾的效果.下面是 xx 整理的实验报告心得体会范文,以供大家阅读. 实验报告心得体会范文 ( 一 ) 这学期我们开设了计 算机网络技术实验课. ...

  6. 计算机辅助审计学心得,审计学心得体会2000字

    读书可以陶冶情操,可以吸取经验教训,书就像一面镜子,一面在外一面在内,需要你去慢慢体悟.下面是由出国留学网小编为大家整理的"教师读书心得体会2000字",仅供参考,欢迎大家阅读. ...

  7. 计算机知识培训感言,计算机培训的心得体会

    心得体会是我们每一个人在生活或者学习中所产生的所思所想所感,写下这些心得体会可以帮助我们更好的认识事物.下面是由出国留学网小编为大家整理的"计算机培训心得体会",仅供参考,欢迎大家 ...

  8. 关于计算机课的课后感受,计算机课心得体会范文

    计算机课心得体会范文 当我们受到启发,对学习和工作生活有了新的看法时,就很有必要写一篇心得体会,这样可以记录我们的思想活动.那么好的心得体会是什么样的呢?以下是小编为大家整理的计算机课心得体会范文,仅 ...

  9. 电子白板计算机培训心得,电子白板培训心得体会(精选5篇)

    电子白板培训心得体会(精选5篇) 当我们备受启迪时,可以记录在心得体会中,这样有利于我们不断提升自我.你想好怎么写心得体会了吗?以下是小编帮大家整理的电子白板培训心得体会(精选5篇),仅供参考,欢迎大 ...

最新文章

  1. 正确理解Mysql的列索引和多列索引
  2. java什么叫内部对象,java – 函数对象的内部类中的变量/对象会发生什么?
  3. 网站服务器断电后果,数据库服务器突然断电后果
  4. oracle11gr2克隆安装,VirtualBox+Oracle 11gR2 RAC安装总结
  5. 萌新的Python练习菜鸟100例(十八)求s=a+aa+aaa+aaaa+aa...a的值
  6. 薄荷Android团队成员Blog
  7. PHPExcel 根据总列数生成EXCEL列名
  8. 春天樱花飘落flash源文件
  9. 【工具使用】Modsim32软件使用详解
  10. windriver linux创建工程
  11. 基于OMAPL138/C6748 + SPARTAN-6 77GHz汽车防撞雷达信号处理平台设计
  12. 社会网络分析:探索人人网好友推荐系统
  13. Python可视化数据学习
  14. Qt实现一个简单的钟表
  15. 跑马灯C语言实验报告,51单片机跑马灯实验报告 分析与小结,思考题源码下载
  16. python分段函数编写程序_python分段函数如何编写?
  17. opencv(十):vs2019+opencv4.1+ C++配置
  18. mysql修改初始化得到的密码
  19. 这可能是2021年GDPR的最大罚单
  20. [原创]我个人整理的AD/2000技巧,各位收藏吧!60多个。

热门文章

  1. java define 宏_#define 用法总结
  2. Win10对路径“”的访问被拒绝解决方法
  3. Android腾讯云对象存储上传图片
  4. [树形dp] Jzoj P5814 树
  5. 无法删除vmware较早版本,用用这个方法彻底清除
  6. 阿里云 yum安装mysql
  7. NeurIPS 2022 | 正则化分子构象场
  8. 获取文件夹下的所有文件,并将对应格式文件复制移动到对应文件夹[学生信息收集和处理]
  9. e.preventdefault()别滥用
  10. Android 内存修改与一键修改