首页 > 极客资料 博客日记
如何快速上手一个新项目?
2024-10-11 20:30:03极客资料围观19次
前言
最近知识星球中有小伙伴问我:如何快速上手一个新项目?
这个问题是一个公共问题,估计很多换了公司的小伙都想问这个问题。
我在工作的这些年当中,换过几次工作,接手过同事的一些项目,需要经常上手一些不同类型的新项目。
今天这篇文章跟大家一起聊聊我的一些总结和思考,希望对你会有所帮助。
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 开发新需求
通过前面几步,我们已经对业务流程、表设计、相关代码都熟悉起来了。
接下来,可以尝试开发更复杂的功能。
在开发之前,先要把需求文档彻底搞清楚,避免后面返工,更浪费时间。
如果你们公司有开发规范,在开发之前,可以先阅读一下开发规范,按照公司规定的规范来编写代码。
如果公司没有制定开发规范,可以按照之前的风格编写代码。
如果之前的代码写的不太优雅,可以根据自己的规范来编写更加规范的代码。
如果到了这个阶段,说明你对新项目,已经完全上手了。
最后说一句(求关注,别白嫖我)
如果这篇文章对您有所帮助,或者有所启发的话,帮忙扫描下发二维码关注一下,您的支持是我坚持写作最大的动力。
求一键三连:点赞、转发、在看。
关注公众号:【苏三说技术】,在公众号中回复:进大厂,可以免费获取我最近整理的10万字的面试宝典,好多小伙伴靠这个宝典拿到了多家大厂的offer。
标签:
相关文章
最新发布
- Nuxt.js 应用中的 prerender:routes 事件钩子详解
- 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit
- 六、Spring Boot集成Spring Security之前后分离认证流程最佳方案
- 《JVM第7课》堆区
- .NET 8 高性能跨平台图像处理库 ImageSharp
- 还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!
- 刚毕业,去做边缘业务,还有救吗?
- 如何避免 HttpClient 丢失请求头:通过 HttpRequestMessage 解决并优化
- 让性能提升56%的Vue3.5响应式重构之“版本计数”