您的位置:首页 > 编程语言

阅读代码的一些心得体会

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

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

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

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

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

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

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

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

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

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

静态阅读代码,是需要自己也有一定理解调节(上面)才能够完成任务的,如果不知道代码的实现效果(目的),那就需要引入深入的调试/bug过程,通过查看运行输入/输出的差别/或其他,来理解代码的目的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: