论坛首页 海阔天空论坛

如何通过看源码学习框架

浏览 11601 次
精华帖 (0) :: 良好帖 (0) :: 灌水帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-04-29  
出来工作一年多了,框架用了好几个,感觉还是和刚从学校出来时掌握的差不多。对框架也就是会使用而不知道其所以然,就是对错误的处理经验要强点。前辈说要进一步学习就的通过看源码,我尝试着去下载所用框架的src包,遇到问题时去看框架的源码,但好多时候发现根本看不懂,很郁闷,是基础不扎实吗,请各位过来人指点指点。
   发表时间:2008-04-29  
同求看源码的好方法。
0 请登录后投票
   发表时间:2008-04-30  
光看源代码是没太大作用的
尤其是想通过看源代码来提高自己的实力来说,极为不划算。
倒不如无视“轮子说”,自己动手写一个,然后和知名开源框架比较一下
发现自己的不足,看看别人是怎么设计与实现的,然后自己为什么没想到?该如何改?
然后,在来想一想这些知名开源框架的设计有什么好处?从那方面来支持开闭原则?是否易于扩展?那么自己写的这个呢?
自己在写这个“重复的轮子”的之后那些地方是难点或者没有太成型的想法?知名开源框架是怎么实现这些难点的?他们的想法又是什么呢?
记得ajoo牛淫也曾经发表过类似的观点,由于潜水太久了忘记具体哪个帖子了。

如果嫌自己动手写麻烦的话,最起码也应该做到带着问题去看源代码,至于是那种问题就得按自己的需要来思考了。

不然,光记得这个类是调用那个类,几个类之间的关系,实无太大必要。与其这样“表面”的看源代码,还不如仔细去浏览浏览api文档。

个人建议,纯属一个菜鸟之言。
0 请登录后投票
   发表时间:2008-04-30  
Joard 写道
光看源代码是没太大作用的
尤其是想通过看源代码来提高自己的实力来说,极为不划算。
倒不如无视“轮子说”,自己动手写一个,然后和知名开源框架比较一下
发现自己的不足,看看别人是怎么设计与实现的,然后自己为什么没想到?该如何改?
然后,在来想一想这些知名开源框架的设计有什么好处?从那方面来支持开闭原则?是否易于扩展?那么自己写的这个呢?
自己在写这个“重复的轮子”的之后那些地方是难点或者没有太成型的想法?知名开源框架是怎么实现这些难点的?他们的想法又是什么呢?
记得ajoo牛淫也曾经发表过类似的观点,由于潜水太久了忘记具体哪个帖子了。

如果嫌自己动手写麻烦的话,最起码也应该做到带着问题去看源代码,至于是那种问题就得按自己的需要来思考了。

不然,光记得这个类是调用那个类,几个类之间的关系,实无太大必要。与其这样“表面”的看源代码,还不如仔细去浏览浏览api文档。

个人建议,纯属一个菜鸟之言。

同志,你有没有自己试过自己提的建议?自己写一个框架,开玩笑吧?框架的思想我们一般都能理解,但想自己去实现,几乎是不可能的,那些底层的东西很难做的,比如事务处理,比如缓存。。。Spring早就出来了,有谁没事能随便整个Spring第二出来?
赞同看UML。。。不一定要Rose那么专业的东东,MyEclipse自带的UML插件就行。。。
0 请登录后投票
   发表时间:2008-04-30  
我的经验是,提升自己debug的能力,然后调试执行某某框架,一步一步的跟进去。
1 请登录后投票
   发表时间:2008-04-30  
多看自然就看得懂,就跟学英文一个道理。
0 请登录后投票
   发表时间:2008-04-30  
使用Source Attach功能,在你使用这些框架的时候,debug到源码去,看看你的程序在框架中是如何走的。
0 请登录后投票
   发表时间:2008-04-30  
[quote="downpour"]使用Source Attach功能,在你使用这些框架的时候,debug到源码去,看看你的程序在框架中是如何走的。[/quote] 生成UML图通常没什么用。 1.先找到你要关注的入口点。 2.画出类间调用的主线。 3.写上注释。 4.不明白的地方用debug查看
0 请登录后投票
   发表时间:2008-04-30  
多debug,在不清楚调用顺序时抛出异常,将堆栈信息打出,可以得到调用顺序。
0 请登录后投票
   发表时间:2008-04-30  
euml (一个eclipse插件.看类结构的)

debug (看执行顺序)
 
0 请登录后投票
论坛首页 海阔天空版

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