Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
认知谬论
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
事件溯源
Kafka消息
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
人工智能
Web3
模因梗
幽默梗
程序员职场
职业规划
面试技巧
道德经
认知偏差
Java入门
更多话题
如何看源码?请大家讨论
03-04-16
xxgw
1、类图肯定要生成,但是跨package就麻烦,如何解决。
2、先模拟client 运行一个例子,调试进入source,好像会太琐碎,没有大局观。
3、文档肯定要看的,但是好像一般没有设计文档。
希望大家讨论!
banq
2003-04-16 17:52
先运行,了解它干什么的
不可能第一次看,就全部了解,隔断时间再复看,同时自己必须在做项目,这里面是相通的,互相促进,会提高自己的水平。
实践和看好的源码必须结合起来,都不能少。
这是我的体会。
xxgw
2003-04-16 21:51
谢谢你的回答。
实践和理论相结合,确实是好的办法。学以致用。
你知道哪里有分析hibernate源码的资料吗?
jxb8901
2003-04-17 12:28
我感觉看源码时每一次只应该集中精力到一个小的目标, 比如看Jive的源码, 可以分几块来看, 如它里面的
设计模式
是怎样用的, 它的缓冲机制是如何实现的, 它是怎样实现连接池的, 它的持久化机制是怎样的等等. 当一块一块看完后, 自然在总体上会有一定的把握. 另外在集中精力到一个目标时, 要注意不要被其它的目标分散了注意力, 如当看到持久化机制时, 可以先不管理缓冲如何实现, 只要知道它取数据时用到了缓冲就行了. 而且往往在拿到一份源码时, 事先并不能确定这许多的小目标, 这时可以先大致确定一个目标看里看, 在专注于一个目标时往往会发现还有其它的目标有待掌握. 这样一步一步深入, 就会对其有总体的了解. 另外不是每份源码都应从头看到尾, 只要看自己感兴趣的就行了.
dragon8943
2003-04-17 18:47
对于初学者,从头看到尾也不失为一种办法.
待已经掌握了梗概,就可以针对具体问题进行深入研究, 边学边记笔记.
我的办法是用word打开java文件,保存成doc文件,对重要之处用红线标记B,自己的记录用蓝色,所有笔记用英文记录.
lulu
2003-04-18 08:57
lsj
2003-04-19 16:49
>>实践和研读源码必须相结合,否则你的程序就没有思想,没有活力,这>>会导致两种极端情况:自己做的东西自己都讨厌;或者以为自己做的东>>西了不得,井底观蛙,看看别人的源码才知道差距和羞愧。
Banq说得太好了,我原来还为自己写的一点小东西自以为是,看了hibernate,现在真是羞愧.
现在三缄吾口,虚心学习.
xxgw
2003-04-21 10:06
谢谢你的消息。但是我只看到使用说明。没有看到分析设计的文档。
有没有其他信息包含源码分析。
iceant
2003-04-21 22:07
sourceInsight 是个好工具。
另外,我以前弄到个Java的工具,好像叫Juliet,也是个看代码的好工具。(不过现在可能不再Free了)
我自己是一边通过 SourceInsight 跟踪,一边用 Together 画UML Sequence. 在把系统的大脉搞清楚后,再细看里面的功能实现。
fuzhou
2003-04-22 09:41
请问你的together在那里下到的?
jxb8901
2003-04-23 15:12
除了banq所说的Jive和Petstore外, 还有哪些源码是最值得一看的呢?
现在的Java世界是源码太多了, 不知道该看什么? 能否请有经验的朋友再推荐一些经典的源码? 最好能按优先级排序!
先谢谢各位了!!
xxgw
2003-04-24 16:31
最近看到codelogic,非常不错,class digram,sequence digram,flow
digram,都可以。
banq
2003-04-28 16:32
to:jxb8901
源码选择看你的主攻方向,如果你做商业企业系统 ofbiz不错,如果你专攻门户系统,推荐你看liferay!
jxb8901
2003-04-29 09:27
谢谢banq的回复!
其实问题的根源在于我现在还不能确定个人的"主攻方向", 所以近半年来我一直都很迷茫. 虽然我现在对于Java的相关技术都有一点了解, 但因为项目做的太少, 许多技术还没有实际使用过, 总感觉很难有更深一步的理解.如果说近半年来我在Java技术上是在向广度拓展, 那现在我急切需要的可能是要选定一点向其纵深发展. 但人的精力是有限的, 如何能在有限的项目中提高自己呢? 可能看源码是一种辅助性的且必要的方式.
jchen
2003-05-05 18:30
> 最近看到codelogic,非常不错,class digram,sequence
> digram,flow
> digram,都可以。
呵呵,codelogic只有试用版下载。有没得注册码或者crack得呢?
有
3
页
Go
1
2
3
下一页
java菜鸟入门