关于阅读源码

简介: 【1月更文挑战第12天】关于阅读源码

关于阅读源码的话题,可以说从上学的时候接触的编程语言开始,就一直伴随着我们。不管是上学时代老师说,有机会了要多看看优秀框架的源码;或者是工作了,同事或者朋友说,有时间了多看看开源项目的源码;再或者,你去线上的或者线下的技术分享会了,分享人也会时不时提到要多阅读源码。所以说关于阅读源码的话题,一直是伴随着我们的。

为什么阅读源码

可以说阅读源码就像读书一样,如果只是自己摸索,知识的积累往往会异常缓慢。而通过读书,可以快速的学到自己想要学习的知识。那么通过阅读源码,你也可以快速的丰富自己的知识架构和体系,从而提高自身的技术实力。

但是阅读源码需要一定的编程基础,并不建议你从一开始接触编程就上手阅读源码,因为此时你并没有形成自己的知识结构,盲目的阅读源码可能并不能收获你想要的内容,可能还会加深你的理解难度。当你的知识或者说工作经验有一定的积累之后,这个时候你在阅读源码时可以加入日常工作中遇到情况的分析,对于你理解源码,理解源码结构都会很有帮助的。

实战过程中,有通过阅读源码突破瓶颈的经历吗

工作过程中,虽说大部门时间都是自己根据理清业务思路写代码,但是大部分企业的项目开发都会采用开源架构,那么既然你用开源架构,那么工作中一定会有需要去改开源架构逻辑的地方。比如我们日常工作中使用的是若依架构,在最初接入项目的时候,由于需要用到单点登录系统,但是又需要保留若依架构的shiro权限认证,因此就只能基于若依架构的基础上对若依源码的权限这块做改造,正如这样

image.png

image.png

当然,除了对若依架构shiro权限认证相关的改造,还改造过单点登录系统的源码。当时是由于原有的nginx会话保持策略ip_hash需要去掉,改为轮询,为了保证用户端的无感切换,在阅读单点登录源码的基础上通过对SSO单点登录系统验证码、LT存入redis,及补偿service的操作更加深入的了解单点登录系统登录流程,大家感兴趣的可以去看我的博文:https://developer.aliyun.com/article/842077

对于很多人来说“读源码太枯燥了,没啥意思”

是的,阅读源码这个事对于很多人来说确实太枯燥无趣了,但是这就是一个学习的过程,而伴随着学习过程中的痛苦,在学习结束之后的收获也就会更加甜蜜,这就是先付出才会有收获。很多时候如果不用阅读源码也可以学习到他人的架构思想以及内部运行原理,那么可能就不会有人去阅读源码了。但是这是不现实的,想要提升自身编程能力,提高自身排查问题、解决问题的能力,那么就一定需要阅读优秀源码。阅读源码除了可以提高你自身的编码技巧和逻辑思维能力,还可以帮助你从源码出发快速定位问题所在,分析原因并找到解决方案,源码中的创新点和最佳实践同样可以激发你的技术创新等等,总之就是阅读源码,一定是值得的。

阅读源码有哪些好方式与好步骤呢

个人理解的阅读源码的好方式就是你debug跟源代码,正如我当时改造单点登录系统源码时,一步一步debug源码,最终才解决了遇到的问题。解决问题的同时,对于单点登录系统的业务逻辑以及运行流程也就完全熟悉了,那么以后即使再需要改造,想来也就不会耗时太久了。

除了debug源码,还有就是可以通过在日常开发中用到的jar包方法注释来了解,正如这样

image.png

日常的开发工具,比如idea,当你打开jar包代码方法时,想要查看源码的话可以通过右上角【Download Sources】下载源码

image.png

下载完成之后再次打开你想要看的源码就可以看到注释信息了

image.png

最后,希望大家有时间的话都可以看一些日常工作中用得到的框架的源码,这样在框架代码出现问题时,也可以快速定位处理,提高自身分析问题处理问题的能力。

相关文章
|
2月前
Markdown如何学习,看完这篇文章就够了。(下)
Markdown如何学习,看完这篇文章就够了
|
8月前
|
大数据
如何快速阅读
如何快速阅读
47 0
|
2月前
|
开发框架 .NET Linux
2024年最全C# 图解教程 第5版 —— 第1章 C# 和 ,2024年最新终于有人把Linux运维程序员必学知识点全整理出来了
2024年最全C# 图解教程 第5版 —— 第1章 C# 和 ,2024年最新终于有人把Linux运维程序员必学知识点全整理出来了
2024年最全C# 图解教程 第5版 —— 第1章 C# 和 ,2024年最新终于有人把Linux运维程序员必学知识点全整理出来了
|
8月前
|
设计模式 JavaScript 前端开发
|
缓存 程序员 API
【翻译】阅读优秀的代码
【翻译】阅读优秀的代码
64 0
|
机器学习/深度学习
Sorry About That, Chief!(阅读理解题)
题目描述 When Dr. Orooji was your age, one of the popular TV shows was “Get Smart!” The main character in this show (Maxwell Smart, a secret agent) had a few phrases; we used one such phrase for the title of this problem and we’ll use couple more in the output description!
118 0
薄荷阅读学习笔记
day 9 labor with one‘s minds 带着脑子干活;动脑子 it's not for you 不是适合你 do sb. service 为某人服务 do sb.a favor 帮助某人 eg:And it is nothing, nothing in the world 简直一无是处. Unless you can find joy in their intent to do you service.除非您体恤他们为您服务的一片诚心,能从中找到乐趣。
1120 0
《如何有效阅读一本书》读书笔记
        这是一本关于读书的书,作者[日] 奥野宣之 ,行文上和众多看过的日本书类似,都是主题比较专一的,篇幅不大,语言语气也比较类似。书的副标题为“超实用笔记读书法”,笔记本贯穿了整本书。
930 0
每日阅读(四)
1)A Computer Science Degree Doesn’t Hurt (Much)       国外的课程也无聊?看来天下乌鸦一般黑啊。。。 2)The 5 Books that Every Programmer Should Read       大家应该很熟悉的几本书了 3)God as Computer Programmer 不知道会比我们这些凡人做的好些么? 4) How to Write a Video Player in Less Than 1000 Lines Of Code       很有价值的一篇文章,留着慢慢品味。
1026 0

热门文章

最新文章