引言:
有时候我们开发项目不是从项目一开始就参与的,那么,如何在项目进行到一半时,尽快的了解并上手这个项目,或者在项目已经完成的情况下,如何进行重构优化维护,这些都需要我们尽快了解项目。
------------------------------------------------------------------------------------------------------------------
1. 「当个小白」
把自己当做用户吧,看看自己的需求是什么,自己的问题是什么。这个会从宏观上决定你的大方向不会走偏,同时也可以很好的帮助你了解这个系统是干嘛的。
从用户的角度出发,我是干什么的,我平时都要做哪些事情,我现在有哪些问题需要解决,这个系统能帮我做哪些事情,这个系统用的是否容易上手……在这个体验的过程中,相信你就会清楚自己要干什么了。
2. 「开发文档 & 数据库」
目前个人认为,熟悉数据库是很快捷的一个方式。
因为数据库是根据需求来的,那些表,字段是不会无缘无故冒出来的,相信前面的程序员也是费了一些心思根据需求设计的。而且,从代码来看,实现方式多种多样,但是数据库还是比较固定的,各种逻辑功能都是以它为基础建立的。理清楚这些表的结构关系,每个字段的意义,这个系统你也就了解的七七八八了。
当然,开发文档,交接文档,这些前人留下来的资料也是很好的参考资料。而且,有时候, 本人指导也不如文档来的实际,因为本人记得没他文档记得全,同时文档的信息不会失真。
3. 「 模式 | 框架 | 架构 | 平台 」
很多时候项目难以上手的原因也在于不了解的项目中的设计模式、框架、架构、平台。
因为你可能知道每句代码是什么意思,但是放在一起就不知道它们在干什么。或者你知道它们在干什么,但是不知道为什么要这么写。如果让你写代码,你不知道怎么从哪里写,写些什么。
这时候你就需要知道,这个系统用什么设计模式了?为什么要用这个设计模式?这个系统的架构是什么?在这个架构上如何实现功能的?以及自己是否熟悉这个框架,这个平台。如果其中有不熟悉,查资料,看视频,尽快的去掌握这些。
4. 「走一条线」
很多人会说,走一条线你就明白这个系统了。
的确,在你上面的基础打好了之后,通过熟悉系统中的源代码。走几条线是一个很好的方法。上面的内容很像是理论,而这个就很像是动手实践了。
关于理论和实践,结合起来是一个很好的办法。这里我的个人经历就是,理论有时候过于抽象枯燥,难以结合实际;而实践有时候难以明白原理,或者与一反三。这时候,理论联系实践也需要结合自己的情况进行优化,可以上来简单的实践明白难点,提出问题,为理论学习提供方向,理论学习中也可以不断实践,验证自己的成果。
至于这个节奏,需要自己探索。
5. 「研究技术难点」
在上面的内容都完成之后,就可以上手开发或维护了,如果还是不知道怎么写,照着之前的代码写一条线就OK了。现在来说,应该可以说已经上手了。至于业务范围内的具体技术难点,自己研究就好了。
------------------------------------------------------------------------------------------------------------------
小结:
这里只是提供一个简单的流程以作参考,相信在做过一些项目之后,这些已经成为一种本能或者习惯。如果你是技术大牛,有多年工作经验的人,可能只需要了解一下需求,简单走一遍代码,就可以很好的上手了。所以,如果说经验较少,自己很不了解要做的项目,难以下手,可以参考一下流程,看看自己在什么问题上止步不前。
最后,希望通过不断的总结,将一些事情具体流程化,从而不断自己的效率。