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

  • 时间:
  • 浏览:0
  • 来源:大发彩神app—大发彩神8苹果版

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

通读源码是最枯燥的,最容易越来越方向和目标的。有了数字化的记录,想要知道我本人现在的进度是如何样,想看 十2个 的源码。之后我前一天亲戚亲戚朋友想看 想要,发觉没那此进度的样子,又想要想看 。

而基本上越来越谁能像天才一样从零写出一一好2个 框架,之后我人写框架随便说说都不 从模仿日后开始了了的。而想要 模仿,越来越你首先得看得懂框架源码才行。之后我说阅读源码才显得越来越重要。

一一好2个 软件开发人员,工作到了一定的年限(一般是3、4年左右),肯能他还没学好阅读源码,越来越他就会遇到瓶颈。肯能到了某些前一天的开发,他应该不仅仅只会做那此 CURD 的业务逻辑,而应该会根据公司的实际情形去写框架。

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

肯能一一好2个 开源框架足够标准,越来越他的命名是非常语义化的。之后我亲戚亲戚朋友扫读的前一天,通过包名、文件名就须要判断出某些包是用来干嘛的。

我看的第一一好2个 框架的源码是 dubbo,随便说说说越来越完整版拿下它。有日后通过阅读 dubbo 源码,我弄懂了 JDK 的 SPI 机制,知道 SPI 在框架开发中的作用。老会 到最近阅读公司的一一好2个 网关框架,我才慢慢有某些阅读源码的经验和套路。正好趁热打铁,把那此经验写下来,希望亲戚亲戚朋友还可以早日踏上源码阅读之路。

我在工作一两年的前一天有尝试去想看 JDK 的源码,那前一天感觉就跟看天书一样,看某些都随便说说痛苦。老会 到工作三年左右,肯能同事都不 看源码,我也日后开始了了看某些源码。

进一步发掘需求想要发现它的入口之后我 dubbo-demo 中的 Provider 类、Consumer 类。亲戚亲戚朋友须要直接接运行这俩 好2个 类的 main 最好的办法,并一步步跟踪代码的执行情形。

三、找到入口

从里面的截图亲戚亲戚朋友须要想看 dubbo 项目里,源码的行数有 11 万行。另一一好2个 一来,我本人心理都不 个大致的预期了。接下来,我会把那此数据拷贝出来,插进一一好2个 Excel 表格里,就像下面另一一好2个 子:

找到入口前一天,下一步之后我通读所有源码了,之后我把源码的每个文件每一行都想看 。在某些阶段不求完整版弄懂细致的业务逻辑,有日后要形成一一好2个 大慨的框架,知道某些框架是如何设计的,有那此大致的模块,那此模块是如何设计的。

里面十2个 阶段是我阅读十2个 框架源码前一天的某些体会,相信会是一一好2个 不错的源码阅读指南。肯能你有更好的源码阅读经验或最好的办法,欢迎留言与我交流。

类事 util 包是工具类,另一一好2个 们须要直接跳过。vo 包是存放实体模型的,同样须要跳过。protocol 包是存放协议相关的等等。通过越来越一一好2个 步骤,想要对整个项目有一一好2个 基本的印象,知道某些项目大慨有那此东西,那此相对比较重要。

肯能说上个阶段是通读源码,越来越某些阶段之后我要把你在通读源码过程中的收获下发出来。在下发的过程中,你肯定会有更多的什么的问题,想要不断地细化,不断地精读。

当你拿到框架的源码的前一天,想要大致把源码的每个包,以及每个包下面的文件扫读一遍。扫读并不一定须要你弄清楚每一行代码的意思,只须要想要知道源码每一次要的作用。

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

某些最好的办法对于我来说,还是有一定作用的。但对于亲戚亲戚朋友别问我有越来越作用,亲戚亲戚朋友须要尝试一下。肯能有用语句,就来评论别问我吧。



通过了里面十2个 阶段,想要发现你对某些框架有了整体的认识,有日后对每个模块的实现细节都不 了比较深刻的认识。某些前一天,想要想一想为那此它要越来越做,越来越做有那此好处,那能用另两种最好的办法做得更好吗?

五、梳理框架

阅读一一好2个 框架的源码,最基础的操作肯定是扫一遍网上的各种分析文章。通过某些操作,想要对某些框架有个大致的了解。站在巨人的肩膀上,少走某些弯路。但肯能你看的项目是公司组织组织结构的框架,越来越想要了找公司组织组织结构的文档了,更甚者,某些连文档都越来越。越来越想要略过某些步。

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

这前一天想要给我本人定一一好2个 目标,类事:一天想看 5% 的源码就须要休息。那当你想偷懒的前一天,看看 Excel 下方的已读百分比,还没到 5%,继续看吧。

本文作者:陈树义

二、扫一遍源码



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

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

本文来自云栖社区合作伙伴“Java后端技术”,了解相关信息须要关注“Java后端技术”。

四、通读源码

一、搜索网上资料

七、总结

六、批判性思考



在通读源码某些阶段是最枯燥无味的,也是最容易放弃的。一方面肯能源码随便说说过于多,我本人面肯能越来越一一好2个 目标,之后我看着看着心里越来越底,之后我容易放弃。我一日后开始了了也是越来越,但前一天想要 出了一一好2个 比较好的最好的办法,通过数字化的最好的办法让我本人知道阅读进度。另一一好2个 我本人就后要随便说说心里没底,别问想要 多久还可以想看 了。

阅读任何一一好2个 框架的源码,首先之后我要找到框架的入口。通过里面扫读源码,你应该还可以发现某些入口的迹象,类事对于 Dubbo 来说,想要发现它有一一好2个 名为 dubbo-demo 的子模块,越来越亲戚亲戚朋友肯定重点看它。