这篇文章,介绍自己接触源码的心理变化过程。
# # 万里长征第一步,我要读源码,是为了提升逼格
一个没有实际开发经验的小白,竟然要读源码,说出去恐怕要被笑掉大牙了。
那是谁给我的勇气去读源码的呢?
为了提升逼格,经常刷别人的面经,别人都提到源码的问题。一开始为了跟风,就硬着头皮的看了看。为了就是能在面试的时候能够跟别人聊上半个小时的源码。不说也知道结果,我在做填鸭式的学习,根本没有作用。里边的原理一时能梳理通,但是很快记给忘掉了。这是一种伪加法的学习方法。这种方式的学习,出发点就是错误的,只会增加学习负担,以及大脑的负载,不会有真正的提升。
但是收获自然多多少少会有一点的:一个是源码的设计思想,就是学到别人是如何去对待扩展性问题的。看别人代码怎么写的。说出来不害怕笑话,我真学到了皮毛。就是代码结构上,得到了精进。结合我读过《代码整洁之道》和《代码重构》,我对自己写的功能代码,有了很好的规范,经过学习源码,看别人的拆分方式,比着葫芦画瓢,我也学到了。
还真别说,一个良好的规范的代码风格。对以后的代码维护会有很好的辅助作用。我目前写过的最多的功能代码大概是一千五百行。是一个结账对账的功能。然后我对它进行了合理的拆分,去遵守阿里开发规范。
这是我要读源码的第一步,说实话,没能力直接点开源码一个防范一个方法的跳,一行一行的去读。能力和认知都不到那个level。可以去先看看别人的书,别人对整体的概览。这对你的认知会有很大提升的。我推荐一本书《spring技术内幕》。能把这本书读下来,思想高度就足够了。可以一行一行的去跟代码了。
总结:沉住气,学习一定一定不要功利化。否则要自食其果。应该是在喜欢的同时,给你带来了收益。而不是出发点就是为了获得收益,然后故意去做一件事。否则这件事做起来会非常痛苦。也得不到真正的收获。
# # 万里长征第二步,我要读源码,是为了更好的排查问题
在面试的时候,面试官经常会这样问你,你们在开发过程中遇到没遇到过什么问题。
年轻的我,脱口而出的就是没有。确实在那之前没有遇到过。
确实开发经验还不够,时间还不够长,否则一定一定会遇到过的。、、
到这里我想说,我现在遇到了,遇到及其奇怪的问题,那种想骂人级别的错误,就是在你的认知里,无论如何,这个问题都不会出现。正是因为你认知里这个错误不会出现,所以你根本没有排查问题的任何思路,说白了就是等死,要么让团队的人帮你排查。但是别人还有一堆没完成要完成的任务。所以你还是得一个人奋斗。
刚开始只做增删改查,确实没有什么太大的问题,或者说遇到的问题,基本可以谷歌在半个小时之内解决。等遇到了半天都搜不出来答案的,就有点头疼了。前几天就遇到过
另外今天看到一篇排错的文章也写的非常好,很有借鉴意义。即使不同的错,也可以用想用的方式去处理。这也是我要读源码的第二次觉悟。你只有知道源码是怎么一个处理流程,你才能像博主一样去进到框架内部,查看问题的原因,如果你不知道源码在干什么。那么你查错的时候,想要去跟流程也跟不出来任何东西,看不懂,更不知道问题在哪里。
可以一起看看这篇文章,我感觉就像是悬疑小说一样:同样也是一个事务失效的问题
标签:遇到,代码,认知,问题,源码,思想觉悟,别人,要读 From: https://blog.51cto.com/u_15812686/5739743