到底该不该看源码(懂这三点儿就够了)

1、不要为了看源码而看源码
2、代码积累到一定程度,遇到问题自然就去查源码了,然后你就看懂了
3、两年内不要刻意去看源码,可以点开简单了解一下就行,前两年疯狂做项目就行了,后期项目做的多了,你自己就会有疑问,每次写代码就会问自己为什么要这样写?底层的原理是什么?很自觉的带着问题就去看源码了,如果你没有这样的疑问,那说明你也不适合去看源码了,写写业务代码,了了一生

如何看源码

  1. 遇到一个不明白的模块,首先去网上查一下这个东西是干什么的,应该怎么用(不懂就问度娘)
  2. 找到核心类的入口,摸清运行流程,举例:假如你要看的是某个注解,注解点进去有import的注解,那么一般来说import引入的类就是关键了,点进去查看
  3. 看结构(ctrl+h)有父类就一层层看父类,有接口优先看接口,一定要下载源码查看上面的注释(老办法英文不好问度娘),一般来说注释会详细介绍这个接口/类的功能
  4. 灵活运用alt+f7,就是find usages
  5. 学会查看引用栈,能掌握每一步代码具体做了什么以及当前引用的类型等信息

看源码的一些通用方法:

1、先看文档,整体把握

一般来说,文档是对代码的高度凝练,一个高质量的开源一般会包含tutorial、specification、API reference等documents,通过选择性的略读、精读这些文档,就能大致了解项目的整体架构、设计原则。6 大设计原则,你知道吗?

正确的路线是通过文档去认识这个项目,然后通过阅读代码去验证文档、深入细节,而不是通过直接啃源码来了解这个项目,以偏概全

2、理解代码组织,文件名,类名

当需要看代码的时候,不要找到一个文件就开始,先看看代码组织,粗略看看文件名、类名,基本就能猜测到每一部分。比如redis的源码就组织得很好,基本上看文件名就可以快速定位每一个command的实现位置

3、关注一个问题,从问题追踪代码

看源码的目标决定了此时此刻的关注点,不管是解决遇到的bug还是学习某个算法,都让我们聚焦到一个具体的问题,从这个具体的问题去追踪代码,忽略掉当前无需关注的细枝末节,步步深入,直达目标

当然在解决一个问题的时候,有可能会引发新的问题,尤其是学习的时候,此时只需记录新问题(放到收集篮,不要立即发散),待之前追踪的问题解决之后,再来看新发现的问题

4、解决一个issue

如果自己没有问题,那么就帮忙解决别人的问题,通常来说,开源项目都有许多待解决的issue,从中选择一个入手即可

5、调试

只要可以,一定先让代码编译通过、跑起来,这样不管是加log、打印调用栈还是断点调试都方便很多,不跑起来很难知道到底在干啥

6、加注释,做笔记

如果某份源代码的阅读并不是一锤子买卖,日后还可能回顾、重新阅读,那么就一定要做好代码注释和笔记。笔记主要是框架图、类图、流程图,目标是建立索引,方便日后快速回忆

而注释就是阅读代码时的细节,重新阅读的时候看注释(特别是函数的注释)能节省很多时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rsun04551

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值