程序员如何阅读源码?大神是这样养成的!_java

☞ 免费CSDN资料帮下服务 | 免费加群 ☜

Java 程序员如何阅读源码?大牛是如何炼成的?如果高效熟悉一个系统?如果快速融入新公司,接收一个新项目?我相信很多人都有这样的困惑,今天我抽个时间一起来聊一聊我的个人经验。

群里有人问我阅读源码技巧,如下:程序员如何阅读源码?大神是这样养成的!_java_02具体是哪一天,我忘记了。所以,我就搜索了一下关于“源码”的群聊天记录。我记得前面好像有两个人提到如何阅读源码,至于是在群里还是公众号里留的言,我忘记了!

好的阅读源码的习惯,我认为应该做到一下几点!

第一,学会会做笔记。这里我推荐使用思维导图,比如下面是我做的一个关于阅读其他系统源码的笔记。

程序员如何阅读源码?大神是这样养成的!_java_03

看到没,这样做想不会都很难!如果还做不到这一点,或者虽然这样做了,但是还有点吃力。那么看我的第二条!

第二,在阅读源码之前,学一点设计模式!

你要记住,当遇到 XXFilter,那可能就是过滤器模式;看到 XXBulider,那就是建造者模式;看到 XXFactory,那就是工厂模式;看到 XXStrategy 那就是策略模式;看到 XXSingleton,那就是单例模式;看到 XXProxy,那就是代理模式;看到 XXChain,那很可能就是责任链模式;看到 XXInterpreter,那很可能就是解释器模式;看到 XXTemplate,那可能就是模板方法模式;……

别问为什么?因为老外都喜欢这样起名字。还有一些习惯,比如 xx.util.xx 那就是工具类,xx.dao.xx,xx.service.xx 这对应的包就是对应的分层结构。

做到上面 2 点,如果你还做不到,请看第三点。

第三,万能的 debug。

把代码跑起来,你千看万看,看不懂,没关系,跑起来。跑起代码来,比你干看一万遍都强。

跑起来之后,看不懂的地方,debug,调试。

第四,我再啰嗦一条。你看源码不要一直抓着细节不放。

这一点,你搞不懂,跳过,看一下段内容。先把架构搞熟。看懂其他的后,在反过来看前面的。你会恍然大悟,原来是这样设计的!

实在不行,你就多画点类图。在结合注释,英文注释看不懂,就百度翻译。没注释,就看方法名字。看不懂单词,同样的翻译。根据一个方法的名字,应该就能看出来它的作用。

为什么你看不懂源码呢?因为你学习的知识少,比如,你经常使用的 if else 等,别人可能包装成了设计模式。本来几行代码搞定的,变成设计模式后,多了好几个类。

没办法,好的架构就是容易扩展,为了高度可定制化而生的。你那种只为完成功能的思想应该放下。

还有在群里多交流,多沟通,多帮忙解决其他人的问题。我一个搞 Java 的,解决了测试的问题,运维的问题,C 的问题,Go 的问题,我就是全栈。

记住,下一份工作你就能腾飞,还有什么是你做不到的呢?