现如今,换工作越来越频繁,要么被动,要么主动。就我自己而言,半年之内就换了两份工作。从我们的整个职业生涯来看,每个人退休前,要工作40+年,在一家公司雇佣时间大都不会超过5年,为什么呢,工资很容易被跳槽过来的人超越呀,在一家公司涨薪幅度明显比日益增长的市场的平均水平要低,所以跳槽进入一个新的环境,是司空见惯的事情,这种重复的事情,我们能总结出什么规律,以便能快速适应公司业务。
我是程序员,最重要的是快速熟悉公司的项目代码。为什么要快速熟悉?首先进入的公司,已经发展这么久,代码经过很多次迭代,代码结构日益复杂,功能日益繁重,并且每个项目为了解决特定问题,做了什么额外的工作,这个我们没办法把所有的过程全都经历一遍。所以快速熟悉代码量大,功能复杂的项目代码是有一定难度的。
那么如何快速熟悉项目代码呢?
我从以下几个角度说明:
第一,先搞清楚这个项目的常见术语;
为什么要先搞清楚项目的术语呢,因为项目代码是实现业务内在逻辑,不理解其中术语,就弄不清楚代码实现的功能,就更不能把错综复杂而分散的代码综合起来理解。理解术语是前提,所以看项目代码前,先对搞清楚术语意思。
第二, 先快速过一遍代码实现的逻辑,并能梳理出一个大概的流程。
快速过代码的过程中,可能代码的某个功能,嵌套了数层。如果纠结细节,可能把自己陷入细节当中,然后这一天结束了,第二天再反过来又把前一天看的东西给忘了,看跟没看差不多效果。这是我们要前期不熟悉项目代码逻辑的情况下,应该尽量避免的。
这个过程,我们的重点是搞清楚整个项目或者某个大功能大概在干什么就行了。为什么要先这样做呢?一旦知道了大概功能,我们就可以知道,流程中的一个环节可以根据它的上下文去推断它的目的,它的功能,它在实现这个功能的输入需要前一个环节的输出;而实现这个环节的功能的输出,则是它的后一个环节的输入。
第三,有了整体的理解之后,就可以对其中的每个模块逐个攻破。
从整体再去看局部,就容易多了,因为局部的模块是为了实现整体的某个环节,它所做的各种考虑,肯定依赖于其他各个模块实现。当然对每个模块的理解上,要结合上下文和整体去考虑,才能更好的理解局部模块实现的内在原因。
第四,更好的理解代码的另一个习惯是,依照代码的运行流程的节奏去思考代码实现,而不是按照代码编写的先后顺序去理解。
因为很多时候,有些代码在循环内部,有可能有些分支需要特定条件才能进去,也有可能这部分代码具有全局结构变量,并在多种不同条件下被多次修改,这个时候我们就需要按照代码的运行流程去思考代码逻辑。
网友评论