`

有哪些你不知道的阅读源码的技巧

阅读更多
1. 先看官方文档和架构图

优秀的开源组件官方都会维护文档和架构图,这份架构图上或许有一些最重要的组件之间的关联关系、或许哪些功能的调用流程、或许有一些别的东西,但是相信我,这些东西一定都是从总体来描述这个项目的,这个一定是你要阅读源码时第一个要看的

2. 再看项目的组织结构

下载下来代码之后,不要急着开始。先看一下各个包名和包里的类名,对照着文档和类名先简单猜一下各个类的大致作用

3. 找到启动demo,把项目跑起来

阅读源码不仅仅是阅读,要让项目跑起来,去调试它,去观察和改变它的运行路线

4. 找到阅读的起点

很多人都想阅读源码,但是面对庞大的代码库不知道如何下手。这个时候你就要明确你的目标。
可以从启动方法开始、也可以从具体的哪个功能开始。总之要找到你的起点

5. 理清主干

一个优秀的开源软件总是经过了很多工程师很多年的努力孵化出来的,你去阅读它的时候很难把整个软件全部都整明白。所以一定要认准自己的目标,朝着自己的目标去读,当过程中出现一些不太重要的分枝时可以适当的忽略来节约时间

6. 把你的结论记下来

好记性不如烂笔头,我们从小就知道的一句话。包括且不限于笔记、流程图、截图等任何你擅长的工具,把它记下来。另外,最好总结一下重点部分方便面试的时候快速复习

7. 阅读时使用的小技巧
查看类的继承体系

快捷键:Ctrl+H
1

查看方法的调用层级

优秀的源码往往调用层级很深,当你debug到某个点却忘掉了怎么进来的或者说不知道哪个地方调用了这个方法,只需要在方法名上使用Ctrl +Alt+H即可查看这个方法的调用层级
1

查看类UML图

当使用Ctrl +Alt+Shift+u会在新的标签页中展示当前类的UML继承图
1
这个继承图相比较于第一个查看类的继承体系外还有以下优点:

  1. 使用UML图形展示看起来更舒服更全面
  2. 支持手动排除不相关的类和接口
  3. 支持展示类的属性和方法等相关信息
  4. 当你仅仅只关注UML图时还可以使用Ctrl +Alt+u在当前标签页浮动显示一个图层
Debug时修改变量

当你在Debug的时候可以使用Alt+F8唤起这个界面
1
在这个输入框中,你可以直接修改当前能够看到的变量,当存在以下场景时这个功能真的是绝配

  1. 当存在很多分支的时候修改某个变量来改变代码运行的逻辑
  2. 不确定某句代码结果时可以直接在文本框输入,而不需要再次重启程序

记住上方这7点,相信你会变得更加优秀,而我则使用这7点在一个月的时间阅读了Spring的源码:Spring源码解析系列汇总

1

0
0
分享到:
评论

相关推荐

    关于那些阅读源代码技巧

    文章提供了关于阅读源代码的技巧和方法,其中涉及多个方面,包括目的、工具、知识准备、笔记制作和实用技巧等。 首先,阅读源代码的目的可以多种多样,包括纯粹为了学习、添加新功能、重构代码以及修复Bug。不同的...

    Java源码:比较经典的一些Java源代码,适合于初学者

    Java源码是学习编程语言的重要资源,特别是对于初学者来说,通过阅读和分析源代码,可以深入理解语言的特性和编程技巧。这个压缩包包含了140个经典的Java源代码程序,涵盖了各种基础到进阶的编程概念。下面,我们将...

    引擎源码.zipGameOfMir俗称GOM引擎源代码全套版

    "引擎源码.zipGameOfMir俗称GOM引擎源代码全套版"这个压缩包包含的是GameOfMir(GOM)引擎的源代码,这是一款广泛应用于网络游戏开发的引擎,特别是对于传奇类游戏的开发有着重要的作用。GOM引擎以其强大的功能和...

    小说阅读器源码(3款APP)可解压直接导入AS.zip

    标题中的“小说阅读器源码(3款APP)可解压直接导入AS”指的是这是一个包含三款Android小说阅读应用的源代码,用户可以下载后直接在Android Studio (AS) 开发环境中进行解压和导入,便于学习、修改或开发自己的阅读...

    Linux内核源代码的阅读及相关工具介绍

    1. **深入理解系统运作机制**:通过阅读源代码,可以了解到操作系统底层是如何工作的,这有助于开发者更好地掌握计算机系统的基础知识。 2. **提高编程能力**:Linux内核源代码是高质量C语言编程的典范,通过对它的...

    易语言小刀电子书阅读器源码.zip

    《易语言小刀电子书阅读器源码》是一款基于易语言开发的电子书阅读软件,其源代码提供了详细的实现逻辑,对于学习易语言和电子书阅读器开发的开发者来说,是一份宝贵的参考资料。易语言是一种面向对象、可视化编程的...

    一款阅读源码

    这款“阅读源码”很可能是一款电子阅读应用的源代码,用于处理和展示各种格式的电子书籍。 在深入探讨之前,我们先明确几个基本概念。源码,即源程序,是程序员用高级语言编写的、可读性强的代码,它是程序的原始...

    25个经典网站源代码

    这个资源"25个经典网站源代码"提供了一个宝贵的参考资料库,适合初学者和经验丰富的开发者参考,以理解不同的设计趋势、布局技巧以及功能实现方法。以下是这些源代码中可能包含的一些关键知识点: 1. HTML结构:每...

    Windows游戏编程大师技巧(第二版)源码及美术素材

    此资源包包括了作者精心编写的源代码以及用于游戏场景的美术资源,是学习游戏编程者宝贵的实践材料。 1. **游戏编程基础**:书中涉及的基础知识涵盖C++编程语言、DirectX图形库、游戏引擎架构、物理模拟、音频处理...

    源码阅读技巧详解1

    本文将探讨一些有效的源码阅读技巧,帮助你更高效地理解和解析代码。 首先,规则一是“多读成才”。通过阅读大量源码,你可以逐渐理解编程高手的共通思维模式。设计模式是这些共通思维的体现,比如工厂模式、单例...

    C++ Builder编程技巧、经验与实例(光盘、源代码、源码)

    光盘中包含的源代码和源码提供了宝贵的学习资源。通过对这些代码进行阅读和分析,可以了解各种编程技巧的实际应用,包括内存管理、性能优化、错误处理等。同时,这些源码也可以作为模板,为自己的项目提供灵感和起点...

    用Source Insight打开linux内核源代码

    8. Linux 内核源代码的阅读技巧:开始阅读 Linux 内核源代码之前,应该知道 Linux 内核源代码的整体分布情况。然后可以按照纵向或横向的方法阅读代码。在每个功能函数内部应该一步步来。实际上这是一个反复的过程,...

    易语言源代码(全部极品源码)

    9. **界面设计**:易语言支持图形用户界面设计,源代码中的窗口布局和控件操作,展示了用户交互的设计技巧。 通过研读和分析压缩包内的源代码,我们可以逐步掌握易语言的编程精髓,提升编程能力和问题解决能力。...

    Visual C#2008开发经验与技巧宝典 源码

    《Visual C#2008开发经验与技巧宝典》及其配套光盘使用完整的源代码列举了800余条实用性极强的针对网站设计人员和数据库开发人员的Visual C# 2008编程技巧,旨在帮助广大读者快速解决实际开发过程中面临的诸多问题,...

    微软计算器源代码

    源代码中可能包含了一些针对特定场景的优化技巧,这些对于提升程序运行效率和降低资源消耗具有实际意义。 最后,对于科学计算部分,源代码可能会使用到复杂数学运算和数值分析方法。这为我们提供了一个了解如何在...

    WORD格式,PB源代码,106个技巧

    描述中提到,资料是“WORD格式”,意味着这些技巧和源代码以Microsoft Word文档的形式呈现,便于阅读和打印。Word文档通常包含了文本、表格、图片等多媒体元素,用于清晰地展示PB编程的知识点和示例。此外,资料特别...

    Qt5 源代码

    Qt5是一种广泛使用的开源跨平台应用程序开发框架,由The ...通过阅读、分析和运行这些源代码,你不仅能深化对Qt5的理解,还能提升实际开发能力。记得每个实例都是一个学习机会,通过实践,你将能够掌握Qt5开发的精髓。

    飞控源码.rar_STM32F4飞控源码_飞控源代码_飞控源码 stm32

    这个压缩包文件包含了基于STM32F4系列微控制器的飞行控制系统的完整源代码,该源码经过验证,能够正常运行,且无任何恶意软件,因此对于开发者来说是一个非常宝贵的参考资料。 STM32F4是意法半导体...

Global site tag (gtag.js) - Google Analytics