JiveJdon Community Forums
在线239人 Home | 论坛 | 培训咨询 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » 开源项目大家谈
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 5 回复 / 1 页 [ ]  发表新帖子  回复该主题贴
scorpioer

发表文章: 7
注册时间: 2007年12月25日 22:49
给他发消息
请教:如何去分析源码 发表: 2007年09月01日 00:00 回复
请教,如何去阅读、分析一份源码,比如说分析Struts的源码,谢谢。
banq

发表文章: 9095
注册时间: 2002年08月03日 17:08
给他发消息
回复:请教:如何去分析源码 发表: 2007年09月02日 09:08 回复
这是很小但是很重要的问题:

在java中分析源码学习源码,已经不是传统意义上的看到源码就分析学习,而是有的放矢,否则浪费时间和精力。

简单地说:框架软件的源码没有必要去分析,例如Struts等,只要了解其大概流程就可以了,因为框架软件保证其应用简易和约束性,会有很多烦琐细碎的代码,这些都妨碍了可读性,打个比喻,框架源码就象JDK源码一样,只要会用,无需去学。

框架应用软件源码应该去读,如何使用框架完成自己的系统。

说到底,还是和大部分程序员向下思维观点所致,有的程序员为表示自己水平高,说Struts源码都读懂,我会用很惊讶眼光看他,不是走火入魔就是愚笨的人。

包括学习Spring/Jdon框架这些,都没有必要去读源码,很多热心网友阅读Jdon框架源码,提一些问题,初衷是好的,但是方向错误的。以前一些很有名的高手拿Jdon框架做文章,当时根本没理他,因为他基本专业方向就是错误的,思维向下的,看一个框架好不好,不是看框架源码写得好不好,而是看在多少个不同项目上应用如何,从灵活性 快速性等几个指标来评价。

分析学习源码是学习JavaEE必不可少的阶段,但是必要知道重点和方向,否则才能收到事半功倍的效果,否则花了很长时间和精力,都没有进步。

分析源码最好对比着看,例如Struts框架是MVC模式,那么我看看不使用Struts框架的源码是怎样(如Jive2/Yazd),然后我再看使用了MVC框架后的源码,有什么不同(如JiveJdon3),这样,对比才领会不同。

还有宠物店,看看SUN的Petstore,和Spring的JPetstore,或Jdon框架的Jpetstore,他们有什么不同,这样,视野开阔,就象买东西,好的坏的都看过,这样才知道掂量分寸。




[该贴被banq于2007年09月02日 09:10修改过]
[该贴被banq于2007年09月02日 09:15修改过]
dajay520

发表文章: 1
注册时间: 2007年08月26日 00:02
给他发消息
re:请教:如何去分析源码 发表: 2007年09月03日 12:05 回复
banq老师
我想问下 孙卫琴 的<精通Struts>一书中 对Struts流程的源码做了介绍 并且说阅读Strtus源码可以增加对框架的了解 从而更好的应用
我感觉你们的观点是不同的
你对此有何感想?
hzxdark

发表文章: 8
注册时间: 2006年05月05日 09:09
给他发消息
re:请教:如何去分析源码 发表: 2007年09月03日 12:07 回复
我的想法是,不要看 孙某人 的书。 个人认为,此人出的书在误人子弟。
banq

发表文章: 9095
注册时间: 2002年08月03日 17:08
给他发消息
回复:re:请教:如何去分析源码 发表: 2007年09月03日 18:20 回复
>阅读Strtus源码可以增加对框架的了解
这其实是个人时间精力问题,还有面向什么人的问题,现在还有很多向下思维的人只有读框架源码后,心里才放心用这个框架,否则,心理不放心或者不服气,这些都是心理层面问题。

我提的是一个能够高效率学习Java的路途(脑筋急转弯,但是不是人人能够转的过来,只要转过来,窗户纸就捅破),但是条条大路通罗马,别人指的路也是可以通罗马的。

学习可以多吸收众家之长。
slangmgh

发表文章: 51
注册时间: 2007年09月05日 11:14
给他发消息
回复:请教:如何去分析源码 发表: 2007年09月05日 14:34 回复
阅读别人的代码,关键是你要知道你为什么去读,你的目的是什么,你为了解决某个问题,还是为了理解其中的某些内容。

没有目的的去读源码是有作用的,但是事倍功半。

而一旦你知道你的目的了,那么阅读的方法也是不一样。

譬如如果你是需要去验证某一项功能是如何实现的,那么最好结合运行、调试去读代码。而如果你要理解其设计,那么最好是结合编写测试案例的方式去读代码。

总之一句话,找到最佳的路径到达你的目的地。
这个主题有 5 回复 / 1 页 [ ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam