分析源码

来源:18-1 分布式系统简介

chore

2018-06-15

老师,最近公司需要,看到源码比较多,有没分析源码的基本思路或者是源码分析工具啊,

写回答

1回答

ccmouse

2018-06-16

这个我之前在一个猿问的活动中有过回答,我可以贴过来。

简单回答:我不建议阅读源码的方式来理解框架。
============ 分割线 ===========
我们来看怎么理解框架。首先是设计。我们要从大体上理解一个框架的目标是什么,他解决什么问题,做了哪些取舍,通常在框架的sample和getting started里都会展示框架与其他竞争产品的不同支持。那么我们顺着这个思路做下去,想想框架应该怎么设计,应该去满足什么样具体的需求。当我们使用框架做开发时一定会遇到各种问题,此时我们想想这个问题你希望框架提供怎么样的解决方案。我们带着这些问题去看文档和使用框架,一方面能够更快速的理解,另一方面也培养了我们的设计能力。
接下来看实现。那么怎么阅读源码呢?大家可以想想这个框架如果让你来做你怎么做,在完成了设计后,肯定有大部分源码是很简单的,你我都会写,那些就不需要看了。有没有哪些技术难点,你觉得很难写出,或是觉得有很多选择,这样的情况下,我们去针对性的阅读那部分难点的源码,会有很大的收获。对了,阅读源码的时候,只看主分支,不要看出错处理,这样最多有可能能少看将近一半的代码,除非你想学习的内容正是出错处理本身。
最后,一个技巧,就是使用调试器。比如说我们想看Spring的源码,那我们把断点放在我们的构造函数或是setter里面,使用调试器向上追溯,就可以看到Spring是怎么读到配置的,怎么找到自己的,怎么注入依赖的等等。在调试器里,我们可以查看框架内部的变量状态,很有意义。
至于阅读什么框架,我的答案是就挑你最熟悉或最想学习的框架。

1
1
chore
非常感谢!
2018-06-22
共1条回复

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程