程序员如何高效读代码?
网友解答: 相信每一个程序员都有读别人代码的经历,尤其是半路加入项目组,或者是半路接手同事未完成的项目。同时我也相信每个程序员都有过赞叹别人代码的经历,也有过鄙视别人代码经历,但是不管怎
相信每一个程序员都有读别人代码的经历,尤其是半路加入项目组,或者是半路接手同事未完成的项目。同时我也相信每个程序员都有过赞叹别人代码的经历,也有过鄙视别人代码经历,但是不管怎么说读别人代码总归是程序员绕不开的一件事情。
读别人代码分为几种情况,一种情况是读整体代码,另一种情况是读某个模块,这主要取决于你参与项目的阶段和参与的程度。通常情况下,读别人代码都有一个基本的思路,我以自己的经验来描述一下这个过程。
了解项目整体功能
在读别人代码之前首先要了解一下项目的整体功能,通常情况下项目都有比较详细的方案规划,要先把方案看一下。这个步骤是建立自己代码实现思路的过程,程序员在阅读方案的时候会有自己的一系列常规解决方案,如果待读的代码是其中的一种方案,那么恭喜你,你可能很快就能完成代码的梳理。
方案有的写的比较详细,有完整的设计图和流程图,那么这个时候再读代码就比较容易了,因为知道了入口和出口,细节看起来就比较好理解。而有的方案写的比较笼统,或者是中间经过多次调整,这些调整可能并没有体现在方案中(实际项目中比较常见),这个时候需要做很多标记,必要的时候要跟项目经理或者架构师做一个详细的沟通。
了解项目的功能模块划分
现在的程序开发基本上都是按照角色进行任务划分的,所以程序员在读别人代码的时候大部分情况下不存在技术上的障碍,也就是说基本上采用的编程语言和框架都是统一的。这种情况下读代码实际上就是读思路,而思路是建立在功能模块划分上的,所以了解项目的功能模块划分就比较重要了。
通常情况下方案并不会把每个实现模块都完整描述清楚,这个时候需要读代码的程序员自己完成功能标记。专业的程序员会写注释,有的注释写的非常清晰,这个对读代码的人来说绝对是件赏心悦目的事情。所以说写代码的时候写好注释对程序员非常重要,开玩笑的说这是一个积攒人品的过程。
标记代码
这个阶段就是开始进行代码的细节分析了,有的代码量比较小的程序可以直接进行这个步骤。当读到每个类实现的阶段时,我比较喜欢为每个方法加一个标注,然后让程序跑一下,这样基本上就知道核心参数的变化过程以及输出的结果了。
当然,读完代码之后一定要把标注去掉的,也不要轻易的去修改看似有问题的部分,因为任何一个不合理的设计背后都有可能是万不得已而为的,你改了其中一个问题可能会引发一系列连锁问题,一定要谨慎。
总之,读别人代码有的时候是个学习的过程,有的时候是个郁闷的过程(大部分的情况),不管怎么说这就是程序员工作内容的一部分。
关注我,了解更多关于软件开发的内容。
网友解答:
第一步前期知识储备:前期知识的储备对每一个程序员来说很重要,只有准备好了,后面学习才能事半功倍;技术方面我们需要知道这份源码采用了哪种语言,利用了哪些框架;接下来就是文档,尽可能来根据文档来理解源码;
第二步对待源码需要有分层的概念:如果遇见一份优秀的代码,我们可能会更加容易去读懂。但是如果遇见一份差的或者是不堪入目的代码,我们更多时候能够更好去为了理解代码,需要在脑子里建立起源代码背后的层次和结构映射。
第三步找出主干内容:有点像是阅读文章时找出这篇文章的中心句,对待代码也是一样,提纲挈领,对做很多事情都是提高效率的方式,很多代码是用来做一些琐碎的,事务性的事情的。要高效理解和把握代码,就必须抓住主干。