lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

这篇文章,是对我自己常用阅读源码的习惯的总结。

(零):先做备份

当拿到一份源代码,不管是工作上临时接手的项目还是平时在网站上down下来的demo,如果想要完全看懂,往往需要做一些改动,有时候改动的比较多就会忘了原来的代码是什么样的,因此我建议,得到一份新的源代码后首先应该进行备份。

(一):编译跑一遍

当拿到了一份新的源代码,我不知道他的作用是什么,那么最好的办法就是先把软件编译以后跑一遍。如果发现软件编译时出错,那么显然,这不是一个好的源代码,这也就提不上快速阅读了,慢慢踩坑才是王道。

(三):梳理数据的来龙去脉

计算机的最大作用是用来计算的,既然是要计算,那么就要有数据的输入和输出,例如我是做机器人的,工控机和下面单片机有着各自的任务,那么只要我找到工控机和单片机通信的部分,我就就可以通过通信的数据一步步查找数据的处理方法,最后得到一条数据从输入到输出的链路,这样虽然链路中每一个调用的方法我不一定知道它是具体如何实现的,但是我可以大致得到每一个方法的作用。

(四):阅读代码写注释

前面说的是比较粗略的做法,接下来要专注细节,就要阅读方法中的每一行代码,对于具体的方法,最好是有着算法文档,不然有一些代码,很难看明白,例如我学习牛顿迭代法时曾经见过使用该方法开方的代码,如果没有算法文档,绝对看不明白它的作用。

如果遇上没有算法文档的项目,那就只能自己硬看了,我的建议是每行写注释,这个有助于分清自写代码,结构代码,程序自带代码和第三方库的API。程序自带代码指的是类似MFC这样的框架生成时自己出现的代码。结构代码是由项目架构工程师写的,方便分工合作而使用的代码。分清这四类代码后就会发现,自写代码和调用第三方库往往是核心,但是刚开始最让人搞不懂的,是程序自带代码和结构代码

(五):自己尝试进行修改

俗话说,输出是最好的学习。在我大学的时候,我的导师跟我说,你学习一份代码,感觉差不多了就上手改,如果改完的代码成功的跑了起来并且实现了你预期的功能,那么你就可以说已经学会了。因此我建议,对于一个源代码,到了最后的学习方法就是自己上手修改,在debug中学习是最快的,

posted on 2019-05-08 12:19  白露~  阅读(3226)  评论(0编辑  收藏  举报