公司有个历史项目需要维护及增加新功能, 前端 react, 微前端. 后端 nestjs , 微服务.
该项目规模宏大, 有 N 多模块, 配置复杂, 有些模组还是动态创建和销毁的.
我需要短期内读懂和消化, 并在这基础上开发新功能.
如何快速读懂消化这种超大型的项目?
谢谢
1
yekern 33 天前
只要了解配置读取,项目启动 基本就 OK 因为你是要在这基础上开发新功能而不是在原项目上修改功能,随着新需求的开发,慢慢自然就了解项目了.
不像我这边,最近接手了 java 大项目各种配置各种三方生态,要在短期内接手了解,并且要在原有的基础上修改和新增需求, 简直脑壳疼, 每次顺代码业务逻辑的时候都想跑,而且代码还没注释, 用通义灵码每个方法点生成注释将就着看.太难了 |
2
mumbler 33 天前
用 cursor 打开整个工程文件夹,ctrl+i 让 AI 分析一下,告诉你系统是如何工作的
|
3
alphaControler 33 天前 via Android 1
思维导图:
后端,基于 API 接口,对应每一个文件,后面再扩展到每一个对象的功能,列出来。 前端:基于界面,对应每一个文件,扩展到组件、接口、业务逻辑这些。 |
4
crocoBaby 33 天前
问同事
|
5
renmengkai 33 天前
疯狂问同事,是最快的方式
|
6
forschers 33 天前 2
|
7
lasuar 33 天前
修 bug
|
8
8620 33 天前 via Android 1
大公司可以问同事,尤其是以前负责过的人。如果没有同事知道,建议首先了解业务表面业务逻辑,然后针对每一个使用场景进行调用链追踪。一定一个函数一个函数看过去,记得留痕迹,不一定要是思维导图,Ctrl CV 一个定义所在文件的名称和位置就行,时间紧任务重的情况下,没空制图的。
在链路上函数全部看完后,可以对进程、线程、微服务、组件、类、方法等的功能和构建及析构做一个概括,尤其是在调用链上的位置和作用,然后依据这些概括,再进行聚类,比方说业务处理逻辑控制、鉴权、调用外部资源等…… 第一条线会比较困难,因为啥都不知道。梳理的多了以后,就会越来越快。有的时候甚至能快速看出代码中不同年代的特征,也是方便理解的一个标志,因为同一时期的代码往往有一定相似性。 这个方法我自己的经历是能在短期(一两个月)内完成的,如果代码量在几万甚至十几万且没有帮助的情况下,超短期我觉得不现实。还有,这感觉算不上“超大型项目”,真的超大型项目从硬件到操作系统到虚拟化都可以是项目的一部分,代码也是百万甚至千万行级别的。 |
9
y332332 33 天前
读表结构。一个项目有什么,能做什么,不能做什么,都在数据表里了。
|
10
GeekGao 33 天前
6 楼的建议 可以参考
|
11
omniversia 33 天前
有之前的同事最好问一下,如果是业务系统抓主要业务逻辑,文档,资料啥的要到手,别人说的多最好记录一下。哪些是最重要的部分搞清,时间紧就得抓大放小
然后自己过代码,整理问题,保证问题有价值有营养(也不要自己不敢问就不问,实在弄不懂还是得问) 然后一次性问第二遍,减少询问次数,把问题表达清楚,增加每次提问的信息密度和效率 你能搞好关系也是软实力的一种,问起来顺畅一点,别人也更愿意告诉你 以上若还不足以解决,短期快速消化困难,就得多投入时间 还解决不了就跟领导说,让他找人告诉你或者在想办法 |