1
AngryMagikarp 2020-05-15 17:35:27 +08:00
看懂了
|
2
byaiu 2020-05-15 20:22:21 +08:00
可以想清楚加功能的方式。
|
3
opengps 2020-05-15 20:24:10 +08:00 via Android
脱离代码之后能画出流程图,就已经看懂代码了
|
4
msg7086 2020-05-15 20:27:05 +08:00
了解原理,可以自己山寨一套类似功能的软件出来。
|
5
wunonglin 2020-05-15 20:32:12 +08:00
能举一反三
|
6
rekulas 2020-05-15 20:37:12 +08:00
看过源码:大部分逻辑能理解主要在做什么
看懂源码:能独立开发一个功能类似的简易版库 看透源码:提交 pr 到核心逻辑修复 bug |
7
hantsy 2020-05-15 20:46:04 +08:00 13
对大部分人来讲,花时间去看源代码是浪费生命。
一个好的开源项目要想推广开来,一般会有文档包括 API 文档去教你的怎么使用,怎么理解它的运行原理,没有哪个开源项目的初中是为了让你的读他的源代码。 好的开源项目,看懂核心源代码很容易,如果你仅仅是为了看这个目的,然后面试时去吹 NB,那么这个事本身就没有意义。10 几年前我也看过 Hibernate2,Spring2 的部分代码,现在几乎不会特意为了去看代码而看代码,感觉没什么太大意义。除了为了解决上游源代码的缺陷,自己要深入的时候才去仔细看,比如,当时在写这个例子,仅仅是看相关的代码几个文件 https://github.com/hantsy/spring-reactive-sample/blob/master/war/src/main/java/com/example/demo/AppInitializer.java 。 |
8
nianyu 2020-05-15 23:32:44 +08:00 1
楼上老哥说得对,别去干浪费时间的事了
|
9
h123123h 2020-05-15 23:34:08 +08:00 via iPhone 4
我也不想看,但面试都要问这个,看过啥啥啥源码吗?
|
10
namelosw 2020-05-15 23:40:48 +08:00
我每次都很好奇,V2 那些 Java 面试失败的,楼下总有问 JVM 源码看了没?
感觉就像算法不过总有人问 CLRS 看完了没一样。实际上 Google 看完 CLRS 的都没几个人。 建议有别的方式都不直接看源码,教程,分析,设计文档之类的比较好,自上到下的讲解之类的。 |
11
yukiloh 2020-05-15 23:42:27 +08:00
同意#7
大部分考试也是没有意义的,但我们的世界没有分院帽,而且人会骗人,所以只能提高门槛 |
12
hhyvs111 2020-05-16 00:24:35 +08:00 via iPhone 1
带着工作中遇到的问题去看才是最有用的,不然看了也是白看
|
13
azcvcza 2020-05-16 10:10:55 +08:00
1.理解思想
2.自己实现 3.跟进社区 |
14
24bit 2020-05-16 11:11:59 +08:00
不参与开发的话,源码看了以后要不了多久也会忘,学习的话关键还是理解作者的思路吧?怎样实现?为什么这样实现?解决了什么问题?
就是面试的时候有些人总喜欢问到某个类某个方法,我又没参与开发,源码又是好久以前看的了,能记住思路就不错了,那还记得住类、方法…… |
15
fuermosi777 2020-05-16 12:10:19 +08:00
为什么要看源码?
|
16
xoyimi 2020-05-16 13:26:08 +08:00
人家问你怎么吃饭才能吃饱,你告诉人家吃饭不能吃太饱。
|
17
cabing 2020-05-16 13:44:31 +08:00 1
@rekulas 这个大哥说的很明白了。
我抛转引用玉。主要是解决了啥问题,遇到了这个问题你是怎么解决,怎么设计的,设计的难点是啥? 以后遇到类似的问题你是否也能这么设计,或者用到代码里面的设计? 如果工作中经常用到的开源软件比如 redis 或者 kafka 之类的,读完源码,真的有豁然开朗的感觉,原来他出这个问题,或者有这个限制原来是这个原因哦。 深入了解工作中用到的主要软件的原理,对工作不一定会用到,但是真的很有趣。 |
18
GrayXu 2020-05-16 17:39:31 +08:00
看源码主要是理解设计思路吧,就是不希望过于依赖文档,而文档不可能面面俱到。
赞成前面说的流程图论。 |