求助: 如何快速读懂消化已有的超大型项目

2 天前
 Gabrielle70

公司有个历史项目需要维护及增加新功能, 前端 react, 微前端. 后端 nestjs , 微服务.

该项目规模宏大, 有 N 多模块, 配置复杂, 有些模组还是动态创建和销毁的.

我需要短期内读懂和消化, 并在这基础上开发新功能.

如何快速读懂消化这种超大型的项目?

谢谢

1812 次点击
所在节点    程序员
11 条回复
yekern
2 天前
只要了解配置读取,项目启动 基本就 OK 因为你是要在这基础上开发新功能而不是在原项目上修改功能,随着新需求的开发,慢慢自然就了解项目了.

不像我这边,最近接手了 java 大项目各种配置各种三方生态,要在短期内接手了解,并且要在原有的基础上修改和新增需求,

简直脑壳疼, 每次顺代码业务逻辑的时候都想跑,而且代码还没注释, 用通义灵码每个方法点生成注释将就着看.太难了
mumbler
2 天前
用 cursor 打开整个工程文件夹,ctrl+i 让 AI 分析一下,告诉你系统是如何工作的
alphaControler
2 天前
思维导图:
后端,基于 API 接口,对应每一个文件,后面再扩展到每一个对象的功能,列出来。
前端:基于界面,对应每一个文件,扩展到组件、接口、业务逻辑这些。
crocoBaby
2 天前
问同事
renmengkai
2 天前
疯狂问同事,是最快的方式
forschers
2 天前
最快的方法 找个人带你过一圈。然后再问问问问 很多时候人家嘴巴带一句的东西你要看很久
lasuar
2 天前
修 bug
8620
2 天前
大公司可以问同事,尤其是以前负责过的人。如果没有同事知道,建议首先了解业务表面业务逻辑,然后针对每一个使用场景进行调用链追踪。一定一个函数一个函数看过去,记得留痕迹,不一定要是思维导图,Ctrl CV 一个定义所在文件的名称和位置就行,时间紧任务重的情况下,没空制图的。

在链路上函数全部看完后,可以对进程、线程、微服务、组件、类、方法等的功能和构建及析构做一个概括,尤其是在调用链上的位置和作用,然后依据这些概括,再进行聚类,比方说业务处理逻辑控制、鉴权、调用外部资源等……

第一条线会比较困难,因为啥都不知道。梳理的多了以后,就会越来越快。有的时候甚至能快速看出代码中不同年代的特征,也是方便理解的一个标志,因为同一时期的代码往往有一定相似性。

这个方法我自己的经历是能在短期(一两个月)内完成的,如果代码量在几万甚至十几万且没有帮助的情况下,超短期我觉得不现实。还有,这感觉算不上“超大型项目”,真的超大型项目从硬件到操作系统到虚拟化都可以是项目的一部分,代码也是百万甚至千万行级别的。
y332332
1 天前
读表结构。一个项目有什么,能做什么,不能做什么,都在数据表里了。
GeekGao
1 天前
6 楼的建议 可以参考
omniversia
1 天前
有之前的同事最好问一下,如果是业务系统抓主要业务逻辑,文档,资料啥的要到手,别人说的多最好记录一下。哪些是最重要的部分搞清,时间紧就得抓大放小
然后自己过代码,整理问题,保证问题有价值有营养(也不要自己不敢问就不问,实在弄不懂还是得问)
然后一次性问第二遍,减少询问次数,把问题表达清楚,增加每次提问的信息密度和效率
你能搞好关系也是软实力的一种,问起来顺畅一点,别人也更愿意告诉你
以上若还不足以解决,短期快速消化困难,就得多投入时间
还解决不了就跟领导说,让他找人告诉你或者在想办法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1081660

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX