大佬们,如何看源码啊?

59 天前
 tpeng9240

类似这种一步一步 debug? 遇到复杂一点的 ,云里雾里的 ,真的有点搞不动啊!!!
投简历已读不回 ,感觉都快自暴自弃,想着提升一下
网络上大部分源码视频讲解也是一言难尽🙃🙃
各位有没有好的学习方法,小弟借鉴一下🧐🧐

5452 次点击
所在节点    程序员
51 条回复
mrwhyzzz
59 天前
c++吗,看 brpc ,跑一遍 demo 和 test
iMoutai
59 天前
看源码能不能找个软柿子捏一捏啊,上来就 Spring 啊,好几万百行代码,各种设计思考在里面,不迷糊有鬼了,先找个 MyBatis 、Hikari 看看啊,撑死几万行,先找找感觉
tpeng9240
59 天前
@iMoutai 好的,谢谢
tpeng9240
59 天前
@mrwhyzzz java boy spring
zjq07
59 天前
有目的的时候看源码才更有效,有自己的目标和想法,就会有大致的方向,跟着源码走也是一步步验证自己猜想的过程(起码我是这样的)
tpeng9240
59 天前
@zjq07 好的,谢谢
iMoutai
59 天前
@tpeng9240 #3 JUC 包下面的源码就很凝练,很多是上古大神 Doug Lea 写的,可以先看下这个,面试经常问的
deplives
59 天前
同意 #2 捡个软柿子捏啊,很多超大项目代码的组织都是很多设计模式,设计思考的。没有基础的真的是要看到吐
levelworm
59 天前
我琢磨着要不先看最早的 commit 。。。
Rust2015
59 天前
学会合理的使用 GitHub ,还有类 GitHub 的 gitee

在 GitHub 里有个高级功能,就是代码搜索,不知道代码出处,连 ai 不解释不了,你就搜,正常情况下有解

https://github.com/search/advanced
ww2000e
59 天前
运行 各种调试
ugpu
59 天前
先跑起来到处点一点 分模块感受下这个项目
然后打开项目 先看公共库 配置
然后找到主线程怎么挂载的
在然后怎么管理各个模块的

心里大概有个框架 硬匹配出一个设计模式 如果没有设计模式 你就夸 大道至简.

最后各个模块代码看一看.

看不懂就打日志看怎么运行的
实在不行上单步调试

在看不懂 自信点:这个项目不行 不是你不行
wangritian
59 天前
看源码的学习效率很低,简单了解文件和代码架构就好
对于某个细节功能,直接去搜文档(不限于当前框架)和 gpt
huifer
59 天前
如果可以直接联系我,来录制一个会议视频,点对点回答了。 cWZ5ZDA5NQ==
grzhan
59 天前
我看代码都是记笔记的,而且是手写书面笔记(可能 ipad pro 记笔记也不错?)比如一个章节就是介绍某个函数或者某个类的,这个函数分成几个部分,又调用了哪几个函数,然后下钻的函数再分别记笔记……

如果理解的部分就不需要抄代码直接用自然语言描述下,不理解的部分就标注待后面回过头看,或者查资料( gpt 、源码分析)来综合理解。

手写笔记有个好处可以翻到前面去和当前下钻的函数和新理解的代码做对照,可能之前不理解的部分看到后面结合一下一下子就理解了。

看完一个部分后可能会找网上的源码分析进行对照,看看自己还有没有什么疏漏的地方。

不记笔记的话还有种办法就是写博客,自己从头介绍一个功能、一个模块的源码分析,这样实际写博客要讲给别人的时候就会知道哪些概念自己还不明白。

当然这些都算是笨办法,效率不是很高,但从结果上来说是让我可以理解、看得进去代码的,而且这也是个热身的过程,随着对于代码理解得越深,很多笔记就会越简略。
grzhan
59 天前
另外工具的话一般我就用 jetbrains 全家桶,开箱即用,Ctrl+B 下钻函数,Alt+F7 查某个对象某个函数在哪些地方被使用了,Ctrl+Alt+左方向 上翻自己上一个跳转,Ctrl+Alt+右方向 下翻自己下一个跳转,Shift+Shift+Shift 全局搜索,这些基本够用了也挺好用的。
falsemask
59 天前
说一下个人经验。我当时看的这本书: https://book.douban.com/subject/30452948/,不要介意书比较老,从 xml 解析 bean 开始,了解一下 bean 如何加载。之后可以编译一下 spring 源码,本地边看边加注释。再看 springboot ,一开始不能钻入细节,了解源码整体脉络,之后挑感兴趣的慢慢深入。
sleepm
59 天前
sourceinsight
sourcegraph
善用工具,记笔记
levelworm
59 天前
@sleepm 这俩听说很久了,但是工作上用不到,请问有什么独到之处吗?相对比较成熟的 ide 来说。
codegenerator
58 天前
源码分析交流群,一起学习进步
qq: 850243692

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

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

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

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

© 2021 V2EX