如何学习源码(适合JAVA / GO / C / C++ / C# / Python / PHP / JavaScript等)


前言

不论是哪门开发语言,到后期都少不了看各种框架的源码,那么有多少人 会看源码呢?

相信大部分人刚接触源码的时候都不知道怎么看,这里给大家介绍几个小方法,希望对大家有所帮助。


一、为什么要看源码

  1. 提升技术功底: 学习源码里优秀的底层设计思想,架构精髓,比如一些疑难问题的解决思路,还有一些优秀的设计模式。看得多了,自然就会被吸收。
  2. 深度掌握技术框架: 源码看多了,对于一个新技术或框架的掌握速度会有大幅提升,看下框架demo大致就能知道底层实现,技术框架更新再快也不怕。
  3. 快速定位线上问题: 遇到线上问题,特别是框架源码里的问题(比如框架本身的bug),能够快速定位,这就是相比其他没看过源码的人的优势。
  4. 对面试大有裨益: 面试一线大厂一般都会问到框架底层源码的实现及其原理。
  5. 知其然,知其所以然: 对于一个对技术狂热的人,他肯定很想知道一门新技术或框架的实现原理。
  6. 拥抱开源社区: 源码看多了你的思维就会有一个质的飞跃(说得再直白点:你的思维更接近机器,更容易让机器理解),这个时候你写出的代码在执行效率上肯定不一般。

二、如何看源码

  1. 了解背景: 为什么会有这么一套框架出现,它出现解决了哪些问题?
  2. 阅读官方文档: 通过阅读官方文档了解其核心功能,及使用方法。
  3. 先使用: 通过官方文档的学习,快速掌握框架如何使用,快速完成hello word。
  4. 看其目录结构: 通过框架的目录结构了解其功能逻辑的划分原则,方便后续找相应功能的源码。
  5. 抓主线: 找一个demo入手,顺藤摸瓜快速静态看一遍框架主线源码(核心代码),画出主线源码的逻辑流程图,切勿一开始就陷入源码的细枝末节,否则会把自己绕晕。(遇到看不懂的先放一下,沿着主线继续往下读,不要在一处不懂得代码花费太多时间
  6. 画图做笔记: 总结框架一些核心功能点,从这些功能点入手深入到源码细节,边看源码边画源码走向图,并对关键源码的理解做笔记,把源码里的闪光点都记录下来,后续就可以借鉴到工作的项目中了,理解能力强的可以直接看静态源码,也可以边看源码边debug源码执行过程,观察一些关键变量的值。
  7. 多想: 看源码时要多想想,他们为什么要设计这样的框架,他为什么要这样写?他这样写有什么问题?把他的核心点要想明白。
  8. 整合总结: 所有功能点的源码都分析完后,回到主流程图再梳理一遍,争取把自己画的所有图都在脑子里做一个整合。
  9. 坚持: 坚持很重要,只有量变才会质变,不断的学习才会从本质上改变你的思维,影响你的潜意识。【加油】

总结

虽然现面技术行业都比较卷,对于真正热爱技术的人,他们并不觉得这叫卷,这叫修行,不断升级,大家加油吧。

猜你喜欢

转载自blog.csdn.net/yezhijing/article/details/128514485