论坛首页 Java企业应用论坛

我读源码的一点体会

浏览 23220 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-12-29  

刚才读到了一篇推荐源码阅读的文章,不禁非常佩服那位牛哥。他3年时间读了很多的源码项目,让我不禁浮想联翩。我也介绍一下我个人读源码的一点体会。

 

我自己读过的是 ant 的源码,断断续续大约读了半年时间。从中我学到了非常多的东西,里面实在太多的东西值得回味!我是这样读的,先找到ant的入口,然后从主类开始阅读(其实主类非常简单的)。然后再从点到面,细细地往下读。对于自己想深入了解的,就进入接口内部,继续往下读。阅读的时候,我发现,ant 并没有我想象中的那么复杂,而是非常简单。给我的感觉是,你只要写过一些 java 程序,估计就差不多都能读懂。ant 的程序结构非常清晰,类名、方法名写的很好,你看类名和函数名,就知道它做了什么,注释也写得不错。有时候,有一些源码比较难懂,我就把那部分代码打印出来,一边阅读,一边标注,这样慢慢的也就搞懂了。不过,我也没有读全,只读了ant 的整体构架及部分细节,很多细节没有深入研究。原因是,我对我想了解的内容基本搞清楚了,对整体构架也能看得很清楚了,没必要或不想再了解其余部分细节了。其实,读 ant 的源码给我的感觉就像在读一颗树,先读根与主干,想深入,再读树枝,再想深入,最后就可以读到树叶,整体结构非常清晰。在阅读的过程中,如果你读到某根“树枝”了,不想继续深入读里面的“枝叶”了,就可以回来继续读其他的东西,也不影响你理解整棵“树”。因为 ant 的结构组织得非常合理,注释也写的很好,就不会像盲人摸象那样,一时象根柱子,一时象堵墙。因此读起来就感觉容易很多。

 

不过那篇推荐阅读源码的文章中介绍的那位牛哥,3年竟然读了很多的源码项目,让我佩服不已!不过也让我稍感疑惑,3年真的能阅读如此多的源码项目吗?于是,我妄自猜测,他可能是精读了一些个项目,而泛读了一些项目。我觉得这才比较合理一些。不过即使如此,也让人非常佩服了。其实,我个人觉得,看源码项目不需要多,只精读一两个,就已经足够你回味无穷了!其它的,只是泛泛读一部分,也可以了。

 

我也非常推崇大家去读一两个优秀的源码项目。其实读一些优秀的源码,并没有我们想象中的那么困难。尤其是你对其工作原理了解之后,读起来就更顺手一些。因为你只要去了解,这个项目是如何实现它所要实现的那些功能的,又是如何组织这个项目的,这样去组织这个项目有什么好处等等,这就差不多了。那样读过之后,即使没有读全,都会让人有非常大的收获!对个人能力的提高是非常有帮助的。

 

一点浅见,与大家共享。

   发表时间:2010-12-29  
感觉得有目的去的读源码、不能为了读源码而去读。
0 请登录后投票
   发表时间:2010-12-29  
想读hibernate的源码,但感觉还功力不够,好多看不懂。
0 请登录后投票
   发表时间:2010-12-29  
据说读源码开始比较慢,读出来了就有经验了!不过这都是听大牛说的,俺还没试过
0 请登录后投票
   发表时间:2010-12-29  
表示很想读。。。但还没开始。。
0 请登录后投票
   发表时间:2010-12-29  
xkorey 写道
感觉得有目的去的读源码、不能为了读源码而去读。


有目的才有动力,但是找不到目的,就不知道如何读了
0 请登录后投票
   发表时间:2010-12-29  
想读源码的时候一般都是项目出问题的时候
0 请登录后投票
   发表时间:2010-12-29  
完了 我几乎不读 outman了
0 请登录后投票
   发表时间:2010-12-29  
nullpoint 写道
想读源码的时候一般都是项目出问题的时候

赞同此想法,因为我工作中就是这样干的,项目出问题的时候想读源码然后解决问题。
0 请登录后投票
   发表时间:2010-12-29  
传送门,兄弟
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics