令人生畏的源码,到底该怎样看?

  • 时间:
  • 浏览:0
  • 来源:5分11选5_5分3D

六、批判性思考

本文作者:陈树义

四、通读源码

通读源码是最枯燥的,最容易没有方向和目标的。有了数字化的记录,让你知道本人现在的进度是缘何样,都都看少的源码。统统完后 大伙都看后来,发觉没那些进度的样子,又让你都看。

二、扫一遍源码

在通读源码这一 阶段是最枯燥无味的,也是最容易放弃的。一方面肯能源码虽然过于多,本人面肯能没有俩个 目标,统统看着看着心里没有底,统统容易放弃。我一后来结速也是没有,但完后 我想出了俩个 比较好的法律最好的法律法律依据,通过数字化的法律最好的法律法律依据让本人知道阅读进度。从前本人就不用虽然心里没底,让你是知道要多久还可以都看了。

我的法律最好的法律法律依据是给我的 IDE 装俩个 代码统计插件:Statistics。这一 插件还可以统计项目中的源码行数。这一下面是我统计 dubbo 项目源码的截图,它会列出每个 java 文件的源码行数,以及总共的行数。

阅读俩个 框架的源码,最基础的操作肯定是扫一遍网上的各种分析文章。通过这一 操作,让你对这一 框架有个大致的了解。站在巨人的肩膀上,少走其他弯路。但肯能你看的项目是公司内内外部的框架,没有让你找公司内内外部的文档了,更甚者,其他连文档都没有。没有让你略过这一 步。



本文来自云栖社区商务公司合作 伙伴“Java后端技术”,了解相关信息还可以关注“Java后端技术”。

一、搜索网上资料

这完后 让你给本人定俩个 目标,这一:一天都看 5% 的源码就还可以休息。那当你想偷懒的完后 ,看看 Excel 下方的已读百分比,还没到 5%,继续看吧。

当你拿到框架的源码的完后 ,让你大致把源码的每个包,以及每个包下面的文件扫读一遍。扫读从不前要你弄清楚每一行代码的意思,只前要让你知道源码每一每种的作用。

这一 法律最好的法律法律依据对于我来说,还是有一定作用的。但对于大伙让你是知道有没有作用,大伙还可以尝试一下。肯能有用语录,就来评论让你是知道吧。

通过了里面哪几个阶段,让你发现你对这一 框架有了整体的认识,后来对每个模块的实现细节就有了比较深刻的认识。这一 完后 ,让你想一想为那些它要没有做,没有做有那些好处,那能用另两种法律最好的法律法律依据做得更好吗?

俩个 软件开发人员,工作到了一定的年限(一般是3、4年左右),肯能他还没學會阅读源码,没有他就会遇到瓶颈。肯能到了这一 完后 的开发,他应该不仅仅只会做那些 CURD 的业务逻辑,而应该会根据公司的实际情况去写框架。



而基本上没有谁能像天才一样从零写出俩个 框架,统统人写框架虽然就有从模仿后来结速的。而我想模仿,没有你首先得看得懂框架源码才行。统统说阅读源码才显得没有重要。

七、总结

三、找到入口

当我把俩个 文件都都看完后 ,我会把 Excel 表格中对应的文件最右边一列,写上其百分比。最后我会在下边有一行,统计我所都看文件的百分比。

我在工作一两年的完后 有尝试去都看 JDK 的源码,那完后 感觉就跟看天书一样,看其他都虽然痛苦。老会 到工作三年左右,肯能同事就有看源码,我也后来结速看其他源码。

从里面的截图大伙还可以都看 dubbo 项目里,源码的行数有 11 万行。从前一来,本人心理就有个大致的预期了。接下来,我会把那些数据拷贝出来,装入 俩个 Excel 表格里,就像下面从前子:

进一步发掘需求让你发现它的入口后来 dubbo-demo 中的 Provider 类、Consumer 类。大伙还可以直接接运行这一 俩个 类的 main 法律最好的法律法律依据,并一步步跟踪代码的执行情况。

肯能俩个 开源框架足够标准,没有他的命名是非常语义化的。统统大伙扫读的完后 ,通过包名、文件名就还可以判断出这一 包是用来干嘛的。



这一 util 包是工具类,那大伙还可以直接跳过。vo 包是存放实体模型的,同样还可以跳过。protocol 包是存放协议相关的等等。通过没有俩个 步骤,让你对整个项目有俩个 基本的印象,知道这一 项目离米 有那些东西,那些相对比较重要。

肯能说上个阶段是通读源码,没有这一 阶段后来要把你在通读源码过程中的收获分派出来。在分派的过程中,你肯定会有更多的问題,让你不断地细化,不断地精读。

在通读源码的过程中,你就会对框架有其他新的认识,会知道这一 框架大致分为那些每种,每个每种的作用是那些,这一 模块用了那些设计理念等等。

阅读任何俩个 框架的源码,首先后来要找到框架的入口。通过里面扫读源码,你应该还可以发现其他入口的迹象,这一对于 Dubbo 来说,让你发现它有俩个 名为 dubbo-demo 的子模块,没有大伙肯定重点看它。

原文发布时间为:2018-09-4

找到入口完后 ,下一步后来通读所有源码了,后来把源码的每个文件每一行都都看。在这一 阶段不求完整弄懂细致的业务逻辑,后来要形成俩个 离米 的框架,知道这一 框架是怎么设计的,有那些大致的模块,那些模块是怎么设计的。

里面哪几个阶段是我阅读哪几个框架源码完后 的其他体会,相信会是俩个 不错的源码阅读指南。肯能你有更好的源码阅读经验或法律最好的法律法律依据,欢迎留言与我交流。

五、梳理框架

我看的第俩个 框架的源码是 dubbo,虽然说没有完整搞定它。后来通过阅读 dubbo 源码,我弄懂了 JDK 的 SPI 机制,知道 SPI 在框架开发中的作用。老会 到最近阅读公司的俩个 网关框架,我才慢慢有其他阅读源码的经验和套路。正好趁热打铁,把那些经验写下来,希望大伙还可以早日踏上源码阅读之路。

我每都看俩个 法律最好的法律法律依据,让你写俩个 csy done 来鼓励下本人。每都看俩个 文件,让你在 Excel 中把它标记为完成,最下边的已读百分比也会跟着不断升高。通过这一 法律最好的法律法律依据,我让枯燥无味的源码阅读,其他其他趣味,有了其他目标。

在 Excel 表格中,我只会存放每个源码文件的名字、其源码行数、源码行数占比。接下来我会按着入口,俩个 个去看源文件,把每个法律最好的法律法律依据都都看,都看的法律最好的法律法律依据我会写俩个 注释,这一:csy mark,并写上我的注释。