如何提高阅读源代码的效率
来源:互联网 发布:知乎如何添加关注话题 编辑:程序博客网 时间:2024/05/21 11:15
记得在开源流行之前,我看过的代码紧限于所参与的项目,能有个几万行就不错哩。后来很多优秀开源项目都相继蹦出来了,阅读的代码量那叫一个大呀!不得不看。我现在掉到android这个大坑里,每天都要看很多源代码。以前做过J2EE,看Struts2、Lucene、OSWorkflow、iText等项目的源码,动机有三:文档不足、找问题的原因、好奇。当时有个项目用到了Dojo,这家伙可以说是源码最多的开源Javascript框架了,文档却严重不足,也没什么人用,只能看源码了。
要想快速并高效地阅读源码,一定要有好方法,不然看着会挺费劲,当然,用什么方法取决于具体的情况。我就把自己总结的方法给大家show一下,互相交流交流:
1、一边阅读代码一边写注释。这是我用过的最好的方法,对代码理解得更深入,看一些重要代码或者特别难懂的代码时挺有用。更何况,注释也是一种文档嘛。
2、一边阅读代码一边绘制UML。这个方法适用于类之间的关系较复杂和调用层次较深的情况,我一般都是先绘制顺序图,然后为顺序图中的类绘制关系图。
3、通过Debug来跟踪程序的主要执行过程,这样就可以分清主次了,阅读的时候更有针对性。
4、类的快速阅读。先弄清楚它在继承链中的位置,看看它的内部状态,也就是成员变量,一般来说,类的对外接口都是对成员变量的访问、加工、代理等,然后看看它的对外接口,也就是公有成员函数,识别核心的一个或多个函数,这时候你应该可以大概了解这个类的职责或作用了。可能这个类是某个设计模式中的一个组成部分,所以,设计模式的掌握对代码的快速阅读也是很有帮助的。
5、带着问题去阅读。比如想了解android中的消息机制,那么看看Looper、Handler、MessegeQueue这几个类就可以了,其他的不要去看,要不然就跑题了。
下面列几个阅读源码时所处的情景,在特定场景下用哪些方法:
不太熟悉业务逻辑,还不是很清楚它是干啥的,可以用3、5。
代码量很大,有几十万行,甚至百万行,可以用2、3、5。
你无法看见程序的运行过程,比如没有用户界面,也有可能是无法运行的,可以用3、5。
设计复杂,用了大量的设计模式,调用链很深,可以用1、2、3、4、5。
时间有限,没有那么多时间让你看源码,可以用3、5
- 如何提高阅读源代码的效率
- 如何提高阅读源代码的效率
- [转载]如何提高阅读源代码的效率
- 如何提高阅读源代码的效率
- 如何提高阅读源代码的效率
- 如何提高阅读源代码的效率
- 如何提高阅读源代码的效率
- 如何提高阅读源代码的效率
- 如何提高阅读源代码的效率 .
- 如何提高阅读源代码的效率
- 如何提高阅读源代码的效率
- 如何提高阅读源代码的效率
- 如何提高阅读源代码的效率
- 如何提高阅读源代码的效率
- 如何提高阅读源代码的效率
- 如何提高阅读源代码的效率
- 如何提高阅读源代码的效率
- 如何提高阅读源代码的效率
- osg demo3 add manipulator
- 磊科无线路由器设置方法详解
- 为STM32移植FATFS,读取SD卡上FAT12/16/32文件系统
- 献给新手,如何阅读Linux源码(转)
- 长远的眼光
- 如何提高阅读源代码的效率
- Linux [Mint] 上实现Hadoop 1.2.1 + HBase 0.94.14 + Hive 0.11.0整合
- FATFS 的几个函数使用方法
- Cubic Shadow Mapping in Direct3D
- 网站优化贵在稳定
- Qt下使用OpenGL(10)-根据NeHe的教程改写的
- 动态规划
- redis error MISCONF Redis is configured to save RDB snapshots
- 比较详细介绍FatFs文件系统移植的文章