前言
最近有很多童鞋跟鱼头说,面试的时候动不动就问源码。
也有很多童鞋遇到问题的时候,鱼头建议这些童鞋看相关库 / 框架 / 项目的源码。
但是也有很多童鞋向鱼头抱怨说:“源码太难了。”
那么源码真的是一块难啃的硬骨头吗?
其实不是的。
作为一个优秀(或说合格)的开源项目,它的代码一定不会是晦涩难懂的。不仅是代码本身,这些项目配套的注释,单元测试,示例代码,函数名以及文档一定是能够很好地辅助你读源码的。
下面就让鱼头来跟大家谈谈我自己的一些看源码心得。
(注:这不是最佳实践,只算是鱼头个人的经验,不一定适用于所有人,如果你有不同的意见,欢迎在下方评论区域留言。)
正文
看配套说明
在看一个开源项目源码之前,鱼头首先会先看其文档,不一定是会细致到各个API,但是会先理解这个项目的背景,思想,以及解决的问题是什么。
举个例子,我们来看看一个叫做runtime-hooks的开源工具库。这里先上部分代码:
function withHookAfter (originalFn, hookFn) {
return function () {
var output = originalFn.apply(this, arguments)
hookFn.apply(this, arguments)
return output
}
}
这段函数我们是看懂了,就是劫持原函数,并且在原函数执行之后,执行我们自己的逻辑。但是如果没有相关的业务经验,我们不一定能理解为什么这么干&#x