大家好,我是苏三,又跟大家见面了。
文末留言送书啦!!!
前言
最近知识星球中有小伙伴问我:如何快速上手一个新项目?
这个问题是一个公共问题,估计很多换了公司的小伙都想问这个问题。
我在工作的这些年当中,换过几次工作,接手过同事的一些项目,需要经常上手一些不同类型的新项目。
今天这篇文章跟大家一起聊聊我的一些总结和思考,希望对你会有所帮助。
最近整理了一份10万字的面试宝典,可以免费送给大家,获取方式加我微信:su_san_java,备注:面试。
1 使用项目功能
首先要使用该项目相关功能,知道这个项目是做什么的,主要的功能有哪些,从宏观上有个大致的印象,更不容易忘记。
比如:你们的项目是商城系统或者团购系统,把自己当成普通用户,去访问你们系统的APP或者网站,走一下完整的流程。
可以快速熟悉业务。
然后用个小本本,把系统的主要功能模板记录下来,加深印象。
2 看项目文档
看项目中的相关文档,系统的架构图,流程图等等,从系统层面有一定的了解。
如果项目有文档,一定要多看看。
可以帮助我们快速熟悉项目。
项目的文档就像是项目的说明书一样重要,可以帮我们少走很多弯路。
通过业务架构图,我们可以知道项目的业务模块是如何划分的,哪些是公共的功能,哪些是重要的功能。
通过技术架构图,我们可以知道项目使用的技术栈,服务之间的依赖情况,项目和一些中间件的部署情况。
通过流程图,可以快速熟悉业务流程。
3 查看调用接口
对着系统中页面功能,查看调用的接口。
通过接口的url地址,可以在项目中快速找到相关代码。
在哪些页面,哪些业务场景下,需要调用哪些接口。
搞清楚核心的接口,以及核心的代码有哪些,可以做个笔记。
输入参数和输出参数,大概是什么样的。
有没有统一的封装或者规范。
4 查看表结构
查看数据库的表结构,梳理表之间的关联关系,最核心的表有哪些。
我们刚开始,没必要一次性把所有表的关联关系和字段都搞清楚。
这样过段时间,很容易忘记。
我建议先熟悉核心功能的表结构、它所关联的表、和主要字段有哪些。
可以用PowerDesginer画一下表之间的ER图(数据库关系模式图)。
更加清楚直观。
5 试着修复BUG
想快速熟悉项目中的代码,可以先从修复BUG开始,有个切入点,可以快速熟悉相关业务和代码。
通过修复BUG的方式,可以倒逼自己把相关代码看懂,否则BUG不一定解决的了。
当然BUG也分了等级:
简单 中等 困难
我先从简单的BUG开始修复。
跑一下项目的编译、运行和部署的完整流程,有助于自己快速熟悉在公司中项目的开发、编译、运行、测试和部署流程。
然后逐步开始修复中等和复杂的BUG。
能够不断提升信心。
如果一开始上来就修复复杂的BUG,有可能一天都解决不了问题,会增加挫败感。
6 画流程图
前面使用过系统的功能,并且也阅读了项目的源代码,修改了BUG。
接下来,可以尝试着自己梳理一下业务,画一下相关流程图。
推荐大家使用:draw.io和processon,这两个免费的在线画图工具画流程图。
画完之后,会自动保存下来。
如果项目组中,还有其他熟悉这个项目的同事,可以发给他们帮你review一下。
能够及时发现一些问题,立刻修正。
过一段时间,如果你忘记了某些流程,可以回来查看这些流程图,可以帮助我们快速恢复记忆。
7 定位线上问题
排查和定位线上问题,有助于深入理解业务逻辑。
一般需要我们对业务逻辑和代码有一定的熟悉之后,再去定位线上问题比较合适。
如果第一天接触,就开始定位线上的紧急问题,估计会够你喝一壶的。
定位线上问题,一般需要查看日志,查看监控和数据库数据,还需要查看相关代码,将掌握的信息综合起来, 排查问题。
定位线上问题,有助于积累项目经验。
有助于深入理解业务逻辑和代码。
如果有一定的经验了,后面遇到相同的问题,就能够非常快速定位和解决了。
8 开发新需求
通过前面几步,我们已经对业务流程、表设计、相关代码都熟悉起来了。
接下来,可以尝试开发更复杂的功能。
在开发之前,先要把需求文档彻底搞清楚,避免后面返工,更浪费时间。
如果你们公司有开发规范,在开发之前,可以先阅读一下开发规范,按照公司规定的规范来编写代码。
如果公司没有制定开发规范,可以按照之前的风格编写代码。
如果之前的代码写的不太优雅,可以根据自己的规范来编写更加规范的代码。
如果到了这个阶段,说明你对新项目,已经完全上手了。
文末送书
为了感谢一路支持苏三的小伙们,今天特地给大家送一点小福利。规则非常简单:在本文留言,按点赞数量排名,点赞数量最多的前3位,每人获取1本书。(你可以发朋友圈集赞,或者发微信群集赞。但如果发现有人用机器刷点赞数,立即取消资格,并且拉黑)
后面我会朋友圈公布中奖名单,给你免费包邮到家!这些书是由机械工业出版社提供的,感谢赞助。
《设计原本》
如果说《人月神话》是近40年来所有软件开发工程师和项目经理们必读的一本书,那么《设计原本》将会是未来数十年内所有软硬件设计师、架构师和软件开发工程师们必读的一本书。
《设计原本》是《人月神话》作者、著名计算机科学家、软件工程教父、美国两院院士、图灵奖和IEEE计算机先驱奖得主Brooks在计算机软硬件架构与设计、建筑和组织机构的架构与设计等领域毕生经验的结晶,是计算机图书领域的又一部史诗级著作。
本书从工程师和架构师的视角深入地探讨了设计的过程,尤其是复杂系统的设计过程,旨在提高产品的实用性与有效性,以及设计的效率和优雅性。
全书共28章,分为6个部分:第一部分(1~5章)主要讨论了什么是设计、设计过程的思考、设计的类别、理性模型及其缺陷,以及对一些好的设计过程模型的探讨;第二部分(6~7章)主要讨论了协作设计与远程协作;第三部分(8~16章)全面总结了设计中的各种原则、经验和教训,包括设计中的理性主义与实证主义、用户模型、资源预算、约束、设计中的美学与风格、设计中的范本、设计的分离、设计的演变途径和理由,以及专业设计者为何会犯错;第四部分(17~18章)探讨了建筑设计与计算机软硬件设计在设计思想和方法上的一些共同点和不同之处;第五部分(19~20章)探讨了卓越的设计和卓越的设计师之间的关系,以及如何培养卓越的设计师;第六部分(21~28章)对各个领域的各种类型的案例进行了分析和研究,旨在深刻揭示隐藏在这些案例背后不变的设计过程和思想。
最后说一句(求关注,别白嫖我)
如果这篇文章对您有所帮助,或者有所启发的话,帮忙扫描下发二维码关注一下,您的支持是我坚持写作最大的动力。
求一键三连:点赞、转发、在看。
关注公众号:【苏三说技术】,在公众号中回复:面试、代码神器、开发手册、时间管理有超赞的粉丝福利,另外回复:加群,可以跟很多BAT大厂的前辈交流和学习。