前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速学习源码的一些技巧

快速学习源码的一些技巧

作者头像
鳄鱼儿
发布2024-05-21 15:41:36
1420
发布2024-05-21 15:41:36
举报
文章被收录于专栏:鳄鱼儿的技术分享

源码阅读第一步——如何找到启动类

这里以Nacos为例。

Nacos 启动是通过sh startup.sh -m standalone指令,这里主要是 startup.sh 脚本。

通过查看 startup.sh 脚本可以看到 Nacos 启动是通过java -jar启动了 nacos-server.jar 包

代码语言:javascript
复制
export BASE_DIR=`cd $(dirname $0)/..; pwd`

export SERVER="nacos-server"

JAVA_OPT="${JAVA_OPT} -jar ${BASE_DIR}/target/${SERVER}.jar"

if [[ "$JAVA_OPT_EXT_FIX" == "" ]]; then
  nohup "$JAVA" ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
else
  nohup "$JAVA" "$JAVA_OPT_EXT_FIX" ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
fi

找到 nacos-server.jar 包后解压,从MANIFEST.MF文件中找到启动类(Start-Class),再从源码中找到这个包就可以找到启动类了。

Nacos启动类.png
Nacos启动类.png

快速过源码

不要试图一次性阅读整个项目的代码。选择一个合适的入口点,通常是一个主要的类或方法,然后从那里开始深入研究。逐步扩展你的理解。

比如在看源码时,如果方法中存在if语句块,且语句块后面还有语句时,第一次阅读时可以略过if语句块,直接看后面的逻辑。

if语句块表示存在其他的情况需要考虑,而在第一次阅读时不需要过多的发散学习。

先把主线逻辑弄明白,第二遍、第三遍阅读源码时再去细看if语句块逻辑。

使用IDE去阅读源码

使用IDE来浏览源码,这类工具通常提供了代码导航、搜索、跳转到定义等功能,在阅读源码的时候更容易找到方法引用。

并且可以通过Debug方式,在debugger视图中追踪方法的调用栈,更快的定位代码的执行流程,方便理解源码逻辑。

将源码逻辑绘制成图

在阅读源码时,编写自己的注释和笔记,这有助于加深对源码的理解,并可以在以后查阅使用,节省之后的检索时间。

此外,在看懂源码后,还可以尝试将理解的源码逻辑可视化,通过绘制流程图和类图的方式,加深理解源码项目的结构和工作原理。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 源码阅读第一步——如何找到启动类
  • 快速过源码
  • 使用IDE去阅读源码
  • 将源码逻辑绘制成图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档