在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
大家知道为什么程序员要阅读源代码吗?一方面是由于在开发工作中,肯定会碰到接手别人项目的情况,不懂得阅读源码连工作都做不好;另一方面,阅读源代码是学习和提升技能的重要方法。既然阅读源代码如此重要,那么我们应该如何阅读源代码呢?今天跟大家聊聊阅读源码的四大指导原则。

指导原则一:跑不起来的不读
跑不起来的源码不要读,因为看也看不懂,或者是很难看懂,事倍功半,读起来还费劲。什么时候这个源码必须得跑起来,跑起来有什么好处就是,你可以用debug-条线跟进去。 举个例子,比如ReentrantLock的lock(方法,没有跑起来的时候,静态的来读源码你会怎么读?按ctr|鼠标单击lock(方法,进入这个方法,会看到这个方法调用了别的方法,你又会按ctrl鼠标单击进入它调用的这个方法,一层层往下,你会发现没法读了,所以如果这个东西能跑起来就不一样了,你会发现与之前鼠标单击跟进的结果不一样了,原因是因为多态的实现,如果一个方法有很多子类的实现,但是你不知道跟着这条线,它会去实现那个方法,所以你就得全部看一遍。
指导原则二:解决问题就好
在实际中解决问题就好,读源码一方面可以解决问题,另一方面可以应对面试。什么意思呢?如果你接手了一个别人改过6手的代码,现在你的老板说这个代码有些问题,你往里边加一些功能或者修改一些bug。你解决了问题就好,不需要从头到尾去读去改这个代码。因此,阅读源代码的一大指导原则就是目的性要强,解决问题就行了。
指导原则三:一条线索到底
读源码的时候要一条线索到底, 不要只读表面。我们知道一个程序跑起来以后,可能这个程序非常大,一个main方法有很多的put、get. size各种各样其他的方法。每一个方法你调进去,这个方法很有可能又去调别的方法。所以你不要每个方法先看遍表面,然后再去里边找。而是要一条线索到底,就读一个方法,由浅到深看一遍。就样子阅读源代码的效率会更高!
指导原则四:无关细节略过
阅读代码最忌讳的是,不抓结构抓细节,只见树木不见森林。正确的方式是先把整体脉络理清楚,然后按照模块去阅读代码,把类和类、函数和函数之间的调用关系记录下来。有那些边界性的东西,在你读第一边没必要的时候,你可以先把它略过。
总的来讲,阅读源代码确实不是一件简单的事,甚至还有点困难,需要我们全身心的投入。而大部分时候,许多人没办法投入去阅读源代码,不是不够努力,而是方法就完全错了。希望大家都可以按照以上的四大指导原则,尝试着去读一下代码,相信一定可以获益匪浅!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
程序员这个岗位可以干多少年?
程序员作为当前高薪且极具发展前途的热门岗位,吸引了许多人的青睐。然而也有一些人担心程序员只是一个吃青春饭的岗位,到了30岁以后就会失去竞争力。实际上,这完全是大众对于这个行业存在普遍误解。虽然,一个程序员的编程能力和编程年纪不一定成正比,但是在绝大多数的情况下,参与更多项目开发经验的资深程序员一定比年轻的程序员更吃香。下面我们来详细看看程序员这个岗位可以干多少年。
7519
2020-02-28 13:43:05
互联网行业四大高薪岗位分析
众所周知,互联网行业一直都是高薪岗位的代名词,但是许多人对于互联网有哪些岗位还依旧搞不清楚。因此,本文将为大家好好总结一下互联网行业的四大核心岗位,即技术、设计、运营和产品。具体内容包括这些岗位的入门门槛、工作内容、薪资待遇以及发展前景。大家可以在充分了解这些高薪岗位的基础上,选择最适合自己发展的岗位。
9054
2020-04-08 15:32:31
学习编程之前需要掌握哪些基础知识
学习编程之前需要掌握哪些基础知识,学习编程需要一个系统的过程,掌握操作系统体系结构、计算机网络、数据库等方面的知识。有一定基础后入门和上手更容易些。可以在学习编程语言的过程中同步学习,另外学习编程还需要重点学习一下算法设计和数据结构。
14908
2020-06-08 14:46:39
编程初学者怎么选择学科?学什么好?
编程初学者怎么选择学科?编程语言是一种计算机和人都能识别的语言。编程语言有Java、 JavaScript、 Python、C、C#、C++、PHP、0C、 Swift、Go、 Scala、R等。互联网的发展对技术、程序员的需求逐渐增大,很多人想转行从事计算机编程工作,编程语言众多选择学什么成了大家关心的问题。
7575
2020-08-20 17:12:53
女生到底适不适合学编程做程序媛?
编程学起来我不知道哭了多少次!逻辑差听不懂不理解,仅入门就差点“要了我的命”,哭过几次以后我意识到哭解决不了问题,只能硬着头皮反复练习以此来缩短差距!虽然后来遇到问题还会着急到哭,但至少我认清了一个现实,那就是出现问题必须解决否则无法深入学习。
5123
2021-06-10 16:15:35
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息
