是什么支撑你们去看框架源码的?

2019-05-04 19:24:19 +08:00
 binbinyouliiii

我每次去看源码,比如像 Spring 这种,大体思想我还是知道的,但是这么大的框架,完全没有头绪,一个类跟多个类相关,注释也是介绍怎么用,不会介绍架构。

比如一个注解类,整个框架环环相扣,循序渐进越来越多的类根本看不下来,更别说总结了。

网上一堆介绍源码的文章,就简单的介绍两句,接下来就直接贴了一大段代码,看个鬼哦!

有的文章也不错,但是都是只言片语,或者深一点的找不到资料。

老哥们是怎么看源码的,或者说都是硬啃的?

10858 次点击
所在节点    程序员
81 条回复
usingnamespace
2019-05-05 00:40:47 +08:00
@chuanzhangACE 自己长期慢慢研究的源码一定要写成博客!!或者笔记 不然真的是白看
2kCS5c0b0ITXE5k2
2019-05-05 01:26:27 +08:00
因为从重量级框架转到轻量级框架不得不的去看那些框架是怎么实现的 ....
ericgui
2019-05-05 02:44:15 +08:00
zhengjian
2019-05-05 03:17:07 +08:00
文档中描述的功能不足以实现需求的时候,就去翻翻源码有什么非公开的 Api。

然而人家就那么设计的,看了也没得用。
congeec
2019-05-05 03:59:58 +08:00
看源码更简单+1
Just1n
2019-05-05 07:40:11 +08:00
最好的读源代码的办法应该是 Debug 吧,而且我一直觉得 Debug 是每一个程序员最重要的能力之一。
comi
2019-05-05 08:05:20 +08:00
分模块硬吭,调试+运行。
细节是魔鬼。
wweir
2019-05-05 08:24:39 +08:00
更多是看 runtime,用到技术的论文资料。框架一般只看思想和骚操作
bzi
2019-05-05 08:31:59 +08:00
不想知其然而不知其所以然
wly19960911
2019-05-05 09:17:02 +08:00
很多实现需要看框架源码来调试。另外就是一些架构,还有 UI 框架的布局都是值得学习的
wupher
2019-05-05 09:17:10 +08:00
of course bug
q397064399
2019-05-05 09:25:21 +08:00
框架中很多代码是不值得看的,像 Spring 这种有年头的东西,里面很多代码 都是为了处理 dirty case,没必要浪费时间去一行行阅读,另外这些框架封装的层次太多,只是核心原理就那么点东西,去完整的翻看代码是一件投入产出比极低的事情,如果要研究 Spring 建议看 相关介绍的书籍 读代码 建议直接读 TinySpring,另外真的学技术 还是从底层把基础打好,这些框架东西都摆不脱底层 协议 操作系统 语言特性 那些玩意东西的。
linZ
2019-05-05 09:27:24 +08:00
因为五一玩游戏太多了,有负罪感。。。
ala2008
2019-05-05 09:29:06 +08:00
想扩展功能和看看怎么实现的。。
specita
2019-05-05 09:34:25 +08:00
一般会找个小的开源项目看,spring 这种 debug 时才会看
bakabie
2019-05-05 09:43:32 +08:00
Typecho,看源码比看文档快多了
eternaldzw
2019-05-05 09:44:40 +08:00
wizardoz
2019-05-05 09:47:06 +08:00
个人不喜欢主动去看源码。但是有时候用到一个 API 或者类,文档没有提到自己关心的点,那就需要去看一下源码。但是也仅限于局部的看。一旦自己需要知道的看明白了就不看了。
hihipp
2019-05-05 10:02:53 +08:00
看框架源码,从启动类开始找线索,依赖注入严重,有时候挺难找具体实现类的。

至于部分框架源码,驱使我去看有这几种原因。
一:想看看这部分是怎么设计与实现的。
二:对比不同方法相同功能,内部差异是什么?
vance
2019-05-05 10:17:53 +08:00
一般只针对某个类或某个方法实现去看,像 Spring 这种框架只了解了下原理

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/560899

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX