如何看源码?请大家讨论

1、类图肯定要生成,但是跨package就麻烦,如何解决。
2、先模拟client 运行一个例子,调试进入source,好像会太琐碎,没有大局观。
3、文档肯定要看的,但是好像一般没有设计文档。

希望大家讨论!

先运行,了解它干什么的

不可能第一次看,就全部了解,隔断时间再复看,同时自己必须在做项目,这里面是相通的,互相促进,会提高自己的水平。

实践和看好的源码必须结合起来,都不能少。

这是我的体会。

谢谢你的回答。
实践和理论相结合,确实是好的办法。学以致用。

你知道哪里有分析hibernate源码的资料吗?

我感觉看源码时每一次只应该集中精力到一个小的目标, 比如看Jive的源码, 可以分几块来看, 如它里面的设计模式是怎样用的, 它的缓冲机制是如何实现的, 它是怎样实现连接池的, 它的持久化机制是怎样的等等. 当一块一块看完后, 自然在总体上会有一定的把握. 另外在集中精力到一个目标时, 要注意不要被其它的目标分散了注意力, 如当看到持久化机制时, 可以先不管理缓冲如何实现, 只要知道它取数据时用到了缓冲就行了. 而且往往在拿到一份源码时, 事先并不能确定这许多的小目标, 这时可以先大致确定一个目标看里看, 在专注于一个目标时往往会发现还有其它的目标有待掌握. 这样一步一步深入, 就会对其有总体的了解. 另外不是每份源码都应从头看到尾, 只要看自己感兴趣的就行了.

对于初学者,从头看到尾也不失为一种办法.
待已经掌握了梗概,就可以针对具体问题进行深入研究, 边学边记笔记.
我的办法是用word打开java文件,保存成doc文件,对重要之处用红线标记B,自己的记录用蓝色,所有笔记用英文记录.

>>实践和研读源码必须相结合,否则你的程序就没有思想,没有活力,这>>会导致两种极端情况:自己做的东西自己都讨厌;或者以为自己做的东>>西了不得,井底观蛙,看看别人的源码才知道差距和羞愧。

Banq说得太好了,我原来还为自己写的一点小东西自以为是,看了hibernate,现在真是羞愧.

现在三缄吾口,虚心学习.

谢谢你的消息。但是我只看到使用说明。没有看到分析设计的文档。
有没有其他信息包含源码分析。

sourceInsight 是个好工具。
另外,我以前弄到个Java的工具,好像叫Juliet,也是个看代码的好工具。(不过现在可能不再Free了)

我自己是一边通过 SourceInsight 跟踪,一边用 Together 画UML Sequence. 在把系统的大脉搞清楚后,再细看里面的功能实现。

请问你的together在那里下到的?

除了banq所说的Jive和Petstore外, 还有哪些源码是最值得一看的呢?

现在的Java世界是源码太多了, 不知道该看什么? 能否请有经验的朋友再推荐一些经典的源码? 最好能按优先级排序!

先谢谢各位了!!

最近看到codelogic,非常不错,class digram,sequence digram,flow
digram,都可以。

to:jxb8901
源码选择看你的主攻方向,如果你做商业企业系统 ofbiz不错,如果你专攻门户系统,推荐你看liferay!

谢谢banq的回复!
其实问题的根源在于我现在还不能确定个人的"主攻方向", 所以近半年来我一直都很迷茫. 虽然我现在对于Java的相关技术都有一点了解, 但因为项目做的太少, 许多技术还没有实际使用过, 总感觉很难有更深一步的理解.如果说近半年来我在Java技术上是在向广度拓展, 那现在我急切需要的可能是要选定一点向其纵深发展. 但人的精力是有限的, 如何能在有限的项目中提高自己呢? 可能看源码是一种辅助性的且必要的方式.

> 最近看到codelogic,非常不错,class digram,sequence
> digram,flow
> digram,都可以。

呵呵,codelogic只有试用版下载。有没得注册码或者crack得呢?