`

研究源码的新天地: 研究源码的痛苦

阅读更多

   上篇 中,写了出于什么考虑我一直在研究一些开源项目的源码, 也就是研究源码的动力有哪些. 在这么长的研究过程中很痛苦的, 这些痛苦源自于研究过程中的阻力,又有哪些阻力呢? 归纳起来有如下几个方面.

        1, 项目大, 无头绪, 有些遥不可及. 刚开始时有些不知天高地厚,tomcat 好 像是第一个动心要研究的家伙,整个源码找到后,光往Eclipse里配置就鼓捣了好久,后边配置成功了, 也跟踪了段时间.后来慢慢发现"太庞大"了,也理不出什么合适的头绪,再加上工作紧,到现在也很久没碰Tomcat的源码了.对Tomcat有些死心后, 又打上hibernate的注意了.正如上篇中说的那样,hibernate 很流行,自己就可以因知其然且知其所以然地高度灵活地配置/调用. 愿望是美好的, 但在真正的行动起来后发现问题也相当大. 虽然没有放弃,但现在没有把精力投入到Hiberate源码的研读/跟踪上. 期间也折腾过spring , ofbiz , 配置过hsql 这样Java实现的数据库,甚至还把MySql的源码也整下来了. 不过都因为文档好,项目大没头绪而搁浅了.
       2, 灵碎时间里不可能做大块的研究. 上面提到的这些项目业余研究很不合适, 所占时间多, 一周班上下来就挺累的了,周末又有其它的事要办,很少能拿出一大块的时间来对付它们.
       3,  对工作帮助不大,或很小. 对上面提到的项目,虽说偶然有些帮助,但总体来说近期来看投入产出很不相配.虽说长远看来,敢肯定的是,对自己IT生涯里的帮助巨大,但不能为了那些多少 有些遥不可及的收获而把现手头的工作搞的一团糟吧. 再说, 以Hibernate为例, 若仅仅是为了能灵活应用, 看牛人写的书并能在工作中多多体会总结也是一个相当有效的方法.基于这个考虑, 对那些这些项目投入的精力也就小了.
       4, 由于工作所限,不可能做针对性的实验. 这一点可以和上面的第二条放在一起, 不过由于做针对性实验,对自己研究源码有相当大的促进作用,这里单拿出来. 还是以hibernate为例, 觉得最好的方法,是针对那些常用API,做类似于测试用例那样的例子, 再围绕这个例子一步步看hibernate内部是如何实现的. 而直到现在还没能写针对性的实例来研究.不过这里又想到一个入口,可以看看hibernate自带的TestCase.

       这是我想到的阻力, 有这些阻力, 当看到那书时,第一感觉就是"Oh,My God! That is what I want!". 那么, 那本电子书又有什么优点呢? 且看下集--避害趋利

4
3
分享到:
评论
1 楼 xuxiaolei 2009-03-13  
个人感觉,研究源码前,必须要对你所研究的东西功能有个彻底的了解,另外,研究源码必须要有一个明确的目的。比如,你需要开发一个web server,或者你开发web server时候遇到什么问题,然后再在tomcat代码中找人家是怎么实现的。没有目的的话,一般不能深入进去,都是泛泛的研究。呵呵,牛人除外。

相关推荐

Global site tag (gtag.js) - Google Analytics