OpenFeign与Ribbon源码分析总结与面试题

前言

最近有很多童鞋跟鱼头说,面试的时候动不动就问源码。

也有很多童鞋遇到问题的时候,鱼头建议这些童鞋看相关库 / 框架 / 项目的源码。

但是也有很多童鞋向鱼头抱怨说:“源码太难了。”

那么源码真的是一块难啃的硬骨头吗?

其实不是的。

作为一个优秀(或说合格)的开源项目,它的代码一定不会是晦涩难懂的。不仅是代码本身,这些项目配套的注释,单元测试,示例代码,函数名以及文档一定是能够很好地辅助你读源码的。

下面就让鱼头来跟大家谈谈我自己的一些看源码心得。

(注:这不是最佳实践,只算是鱼头个人的经验,不一定适用于所有人,如果你有不同的意见,欢迎在下方评论区域留言。)

正文

看配套说明

在看一个开源项目源码之前,鱼头首先会先看其文档,不一定是会细致到各个API,但是会先理解这个项目的背景,思想,以及解决的问题是什么。

举个例子,我们来看看一个叫做runtime-hooks的开源工具库。这里先上部分代码:

function withHookAfter (originalFn, hookFn) {
  return function () {
    var output = originalFn.apply(this, arguments)
    hookFn.apply(this, arguments)
    return output
  }
}

这段函数我们是看懂了,就是劫持原函数,并且在原函数执行之后,执行我们自己的逻辑。但是如果没有相关的业务经验,我们不一定能理解为什么这么干&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值