读代码的技巧

白天忙着写文档,晚上回家看看tomcat的源代码,发现了一些以前没看懂的东西,从中体会到技术学习的方法。
最初学习编程的时候,很多人都说读别人的代码,尤其是出名产品的代码对于编程的学习有很大好处,我第一个选中的就是tomcat,然后拿来代码就从main开始一点一点的跟,结果是没看完初始化就放弃了。tomcat整个代码量对于初学者来说有些巨大,当时也没掌握读代码的方法。两年后,经历了无数次tomcat的配置和部署,对于它的功能有了一些了解后再来看它,发现之前的方法太过莽撞。像tomcat这样的项目是采用模块化的结构开发的,每个模块对应一定的功能,再用黏合代码将之结合起来,完全可以针对需要分别阅读对应模块的代码。
在开始读代码之前,阅读该产品的文档会对阅读代码起到很大的帮助作用,首先了解产品的功能,所用到的技术,目录结构,以及模块划分,而这些在开源产品的文档中都能找到。其实亲自用一下是最好的办法,尝试按照说明上列出的各种配置运行一下。还可以到网上找到相关的介绍,在读这些文档的同时写写画画,在脑子里组织起整个产品的结构,最好是列出一张清单,上面包含了所有用到的技术,引用的库,模块等。
现在的源代码包都会有ant,maven活着make的脚本,它们都不会很负责,花时间读一下它们是完全有必要的,它们能帮你理解源代码包的结构,组织方式。
接着还不要开始读代码,而是看看api,其实只要先看看包的描述,再概要的浏览一下类的说明,在之后读代码的时候就会有一个大概的印象,在碰到的时候再具体去了解类的方法。
如果有执行脚本的话,也就是bin目录下的内容,再看看脚本,在这里能找到程序的入口,大体了解一下参数的含义,借助ide边调试边阅读代码,对于不太明白的地方还能够反复执行。对于一个方法,先粗略的看一下整个方法要干什么,再看看它一步一步都做了些什么,然后对于不明白的可以先注释一下,回头再跟进去看。
如果是初学,我建议最好还是先看看网上的一些sample代码,它们都不会很长,花一个下午基本都能看完,对于建立自信很有好处。
程序员是一群可爱的人,他们编写的代码不光是让机器来读的,而且这么巨大的财富没有人懂得欣赏很可能就会被人遗忘,到时候再花时间重写真的是暴殄天物。

你可能感兴趣的:(技术学习)