刚刚毕业入职,还没有太多的项目经验,如何快速上手一个完全陌生的项目?可能很多人都遇到过这样的问题,我也在这个问题上走了很多弯路,总结出了一些方法与大家分享。
技术终归是为业务服务的,先理解了这个项目的业务逻辑,才能真的明白代码到底是什么意思。刚毕业时太过专注于编程技术相关知识的学习,忽略了对业务的理解,这种情况下即使花费很大的功夫去看代码,效率也不会很高。
那么如何去理解业务呢?
以下的问题可以作为参考:
这个项目是做什么的?
谁是这个项目的用户?
和同类项目比,我们有哪些差异或优势?
项目的负责人是谁?项目的参与者都有谁?参与者都负责哪个部分的功能?
尝试着了解项目的主要功能都有什么?
项目的整体架构是怎样的?
项目的遗留问题,目前面临的问题,以及将来的规划?
只有了解了项目的相关业务,了解的项目的整体流程,对整体有所把握,之后看代码时才会有方向。
尝试找到熟悉项目的人,等自己遇到问题的时候就可以抓到人去请教。一定要主动。
不要一开始就看代码!
不要一开始就看代码!
不要一开始就看代码!
理解了业务以后就可以阅读理解代码了,在阅读代码的过程中有一些问题需要注意。
阅读代码的时候不是每行代码都需要仔细研究的,要明白那些是重要的代码,这部分重点理解,很多代码其实并不需要花费太多的精力去研究。当然,时间和精力允许的话还是要做到每一个细节都非常熟悉。
阅读代码的过程中某些知识点忘记了是很正常的事情,如果对阅读代码没有比较大影响没有必要中断阅读代码的进度去复习这些知识。有些底层库的代码写的很巧妙也不是非要立刻把它研究明白。一切以快速上手为主,这些事情可以在时间富裕的情况下去做。
用户做什么操作的时候会触发这个函数?为什么用户点击某个图标要调用这个函数?同样的操作在不同的使用场景下为何触发不同的逻辑?把这些实际的操作和代码联系起来可以更好的理解代码。
只是看代码很多时候并不能真正理解代码,很多时候只是以为自己理解了,实际进行需求开发的时候还是理不清思路。所以要多动手写代码。比如说自己去查找一些bug出现的原因,尝试修改bug。如果没有bug,也可以自己拉一个分支,基于项目代码去实现一些功能,这样才能真正的理解代码。
理解了代码之后可以做更多的思考。比如,为什么架构要这样设计?代码是否还有优化的空间?这样可以加深对项目的理解,也可以提升架构方面的能力。
理解业务、分清主次、多实践、多思考。另外,要培养自驱力,主动的去学习。
参考:https://zhuanlan.zhihu.com/p/135411056