阅读代码的一些心得体会
据说,作为一个优秀的程序员,他是在阅读/调试/删除--代码。目前,就阅读代码而言,我写一下我目前的一些心得体会吧。(高手绕道)
2017/3/29 16:56 此时,我正弄音视频流媒体直播传输的一个东东,跟队友合作,写一个循环缓冲区,为的是我把视频码流写入缓冲区里面,他就从里面读取出来。
反正,我写了一个测试用例:读写函数都是一个,直接封装,没有子函数,包括出错/异常处理都在一个函数里面,边界检测:满/空直接封在里面。然后他喷我一脸。
他也写了一个,测试用例:读写函数也是一个,不过,是作为底层调用,明显地比我简洁。
额,在这里不是为了对比两者,而是:我将要修改他的代码,调试出我之前的测试用例的效果:数据长度随机(读写对应),而他的是固定一个长度(100字节吧)
显然,我的测试用例更具备一般化,但是,他的函数封装却比我的具备更强的移植性。
那我要阅读他的代码,是有前提条件的:
我理解循环缓冲区的机制(也就是读写过程)、并且能够合理使用库/系统API等工具、能够明白当前我所需要的测试用例(也就是最终要的使用效果)。
在上面的条件下,我才去阅读他的代码,显然,20分钟完成任务,并且理解(也不用太多调试,就是静态阅读代码即可知道运行结果那种),所以,我可以知道他的接口存在哪些缺陷(边界满不对:当我需要写入100字节的时候,是需要判断是否能够容纳100字节,而不是仅判断缓冲区已经被占满datalen==buflen),还有一个是锁的位置)
嗯,暂时不给示例代码,毕竟有点过,不过可以总结:
静态阅读代码,是需要自己也有一定理解调节(上面)才能够完成任务的,如果不知道代码的实现效果(目的),那就需要引入深入的调试/bug过程,通过查看运行输入/输出的差别/或其他,来理解代码的目的。
阅读代码的一些心得体会相关推荐
- 怎么阅读论文,写心得体会
收集资料: 阅读学术论文的心得体会! 如何阅读学术论文–和上一篇类似 大牛写论文的心得 几年的写论文和审稿心得 文献阅读心得体会格式: 1.看论文题目,做出论文类别判别. 新理论.新方法.解决新问题– ...
- Android开发人员不得不收集的代码,面试心得体会
一.认识鸿蒙 鸿蒙 微内核是基于微内核的全场景分布式OS,可按需扩展,实现更广泛的系统安全,主要用于物联网,特点是低时延,甚至可到毫秒级乃至亚毫秒级. 鸿蒙OS实现模块化耦合,对应不同设备可弹性部署, ...
- java实训意义_java实习心得体会
通过java实习,我自身发生了重大的转变,我相信我会在JAVA开发这条路上走的更长更远,分享心得体会.下面是学习啦小编为大家收集整理的java实习心得体会,欢迎大家阅读. java实习心得体会篇1 经 ...
- java实验总结与心得_java实验心得体会范例精选
[导语]Java具有简单性.面向对象.分布式.健壮性.安全性与可移植性.多线程.动态性等特点.Java可以编写桌面应用程序.Web应用程序.分布式系统和嵌入式系统应用程序等.以下是无忧考网为大家精心 ...
- python语言的实验心得体会范文_实验报告个人心得体会范文
实验报告个人心得体会范文 实验后的实验报告让我们有了总结回顾的效果.下面是 xx 整理的实验报告心得体会范文,以供大家阅读. 实验报告心得体会范文 ( 一 ) 这学期我们开设了计 算机网络技术实验课. ...
- 计算机辅助审计学心得,审计学心得体会2000字
读书可以陶冶情操,可以吸取经验教训,书就像一面镜子,一面在外一面在内,需要你去慢慢体悟.下面是由出国留学网小编为大家整理的"教师读书心得体会2000字",仅供参考,欢迎大家阅读. ...
- 计算机知识培训感言,计算机培训的心得体会
心得体会是我们每一个人在生活或者学习中所产生的所思所想所感,写下这些心得体会可以帮助我们更好的认识事物.下面是由出国留学网小编为大家整理的"计算机培训心得体会",仅供参考,欢迎大家 ...
- 关于计算机课的课后感受,计算机课心得体会范文
计算机课心得体会范文 当我们受到启发,对学习和工作生活有了新的看法时,就很有必要写一篇心得体会,这样可以记录我们的思想活动.那么好的心得体会是什么样的呢?以下是小编为大家整理的计算机课心得体会范文,仅 ...
- 电子白板计算机培训心得,电子白板培训心得体会(精选5篇)
电子白板培训心得体会(精选5篇) 当我们备受启迪时,可以记录在心得体会中,这样有利于我们不断提升自我.你想好怎么写心得体会了吗?以下是小编帮大家整理的电子白板培训心得体会(精选5篇),仅供参考,欢迎大 ...
最新文章
- 正确理解Mysql的列索引和多列索引
- java什么叫内部对象,java – 函数对象的内部类中的变量/对象会发生什么?
- 网站服务器断电后果,数据库服务器突然断电后果
- oracle11gr2克隆安装,VirtualBox+Oracle 11gR2 RAC安装总结
- 萌新的Python练习菜鸟100例(十八)求s=a+aa+aaa+aaaa+aa...a的值
- 薄荷Android团队成员Blog
- PHPExcel 根据总列数生成EXCEL列名
- 春天樱花飘落flash源文件
- 【工具使用】Modsim32软件使用详解
- windriver linux创建工程
- 基于OMAPL138/C6748 + SPARTAN-6 77GHz汽车防撞雷达信号处理平台设计
- 社会网络分析:探索人人网好友推荐系统
- Python可视化数据学习
- Qt实现一个简单的钟表
- 跑马灯C语言实验报告,51单片机跑马灯实验报告 分析与小结,思考题源码下载
- python分段函数编写程序_python分段函数如何编写?
- opencv(十):vs2019+opencv4.1+ C++配置
- mysql修改初始化得到的密码
- 这可能是2021年GDPR的最大罚单
- [原创]我个人整理的AD/2000技巧,各位收藏吧!60多个。
热门文章
- java define 宏_#define 用法总结
- Win10对路径“”的访问被拒绝解决方法
- Android腾讯云对象存储上传图片
- [树形dp] Jzoj P5814 树
- 无法删除vmware较早版本,用用这个方法彻底清除
- 阿里云 yum安装mysql
- NeurIPS 2022 | 正则化分子构象场
- 获取文件夹下的所有文件,并将对应格式文件复制移动到对应文件夹[学生信息收集和处理]
- e.preventdefault()别滥用
- Android 内存修改与一键修改