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

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

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

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

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

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

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

10858 次点击
所在节点    程序员
81 条回复
xiangyuecn
2019-05-04 19:32:38 +08:00
自己写的代码,过段时间来看 其实也是这个效果。。。😂
pomony
2019-05-04 19:34:52 +08:00
弱鸡表示:debug 的时候看运行栈
srx1982
2019-05-04 19:36:57 +08:00
当然是出问题的时候看了。。。
itning
2019-05-04 19:37:41 +08:00
出错,需求,DEBUG
Fazauw
2019-05-04 19:38:14 +08:00
这不是我写的 bug,一定是框架的╰(‵□′)╯
AngelCriss
2019-05-04 19:39:02 +08:00
因为要造框架
qq7788611
2019-05-04 19:39:35 +08:00
面试,工资
liuzhaowei55
2019-05-04 19:40:00 +08:00
文档太烂。
whoisghost
2019-05-04 19:40:29 +08:00
我是要写差不多的东西拿去开源吹牛逼的时候,才会去看源代码。比如写的 gap-proxy, 我就研读了 netstack, v2ray, ssr/ss, kcp-go/kcptun 等我关心的部分。写 FnKV (一个至今未完成,但几乎完成并弃坑了的用 c 写的 k/v 数据库),我就研读了 BoltDB 源代码。

我个人经验是,在看某开源项目之前,首先想要自己写个差不多的。这样才会针对性、有很强的目的、动力去看现有成熟的开源项目,至于什么技巧之类的,都是其次的。

单纯抱着学习的心态,可能效果不如如上那么好。
whoisghost
2019-05-04 19:41:55 +08:00
@whoisghost 吹牛逼一直我技术进步的动力。
STRRL
2019-05-04 19:47:40 +08:00
因为自己的无知与好奇。。
binbinyouliiii
2019-05-04 19:52:18 +08:00
@pomony 要是包含全局 /成员变量之类的还得找别的地方,没头啊。

@srx1982
@itning 现在我只会怀疑自己代码写错了。

@AngelCriss 像 Spring 这么大的压根看不下去

@qq7788611 现在老哥们的简历上个个都说自己看过各种源码,吓得一愣一愣。
choice4
2019-05-04 19:54:15 +08:00
贫穷 哈哈
lonelygo
2019-05-04 20:12:46 +08:00
面向工资的看源码了解一下🤫
ifxo
2019-05-04 20:15:51 +08:00
没几个人去找虐的,全世界有 100 人吗
binbinyouliiii
2019-05-04 20:23:55 +08:00
@ifxo 面试官又特别爱问这种东西,很多人的简历也会写看过 XXX 源码啥的
loading
2019-05-04 20:33:36 +08:00
没去看过。我只用过 ui 框架,css important 一大堆……←_←
Allianzcortex
2019-05-04 20:44:52 +08:00
理论上只是纯阅读的最好方法是直接 git check out 到最旧的版本看,主干相对清晰些,之后每次 git diff 看都有哪些新功能。

很佩服能看得下去 Spring 代码的同学,每次那么长的堆栈报错都会打消我继续看下去的想法....现在主要看 Go 的代码比较多,之前看过 Python 一些库,有一些挺有意思的发现,比如 requests 在 github 上列出的第一个版本 v0.2.3 里 core.py 这个文件竟然是用 tab 作为 whitespace (之后就修正了)
Junh
2019-05-04 21:14:32 +08:00
看源码比看文档快的时候
woodface2233
2019-05-04 21:15:34 +08:00
穷想多拿点钱或者年终

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

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

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

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

© 2021 V2EX