求助: 如何快速读懂消化已有的超大型项目 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
Gabrielle70

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

  •  
  •   Gabrielle70 Oct 19, 2024 3619 views
    This topic created in 555 days ago, the information mentioned may be changed or developed.

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

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

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

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

    谢谢

    11 replies    2024-10-19 14:34:40 +08:00
    yekern
        1
    yekern  
       Oct 19, 2024
    只要了解配置读取,项目启动 基本就 OK 因为你是要在这基础上开发新功能而不是在原项目上修改功能,随着新需求的开发,慢慢自然就了解项目了.

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

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

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

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

    这个方法我自己的经历是能在短期(一两个月)内完成的,如果代码量在几万甚至十几万且没有帮助的情况下,超短期我觉得不现实。还有,这感觉算不上“超大型项目”,真的超大型项目从硬件到操作系统到虚拟化都可以是项目的一部分,代码也是百万甚至千万行级别的。
    y332332
        9
    y332332  
       Oct 19, 2024
    读表结构。一个项目有什么,能做什么,不能做什么,都在数据表里了。
    R4rvZ6agNVWr56V0
        10
    R4rvZ6agNVWr56V0  
       Oct 19, 2024
    6 楼的建议 可以参考
    omniversia
        11
    omniversia  
       Oct 19, 2024
    有之前的同事最好问一下,如果是业务系统抓主要业务逻辑,文档,资料啥的要到手,别人说的多最好记录一下。哪些是最重要的部分搞清,时间紧就得抓大放小
    然后自己过代码,整理问题,保证问题有价值有营养(也不要自己不敢问就不问,实在弄不懂还是得问)
    然后一次性问第二遍,减少询问次数,把问题表达清楚,增加每次提问的信息密度和效率
    你能搞好关系也是软实力的一种,问起来顺畅一点,别人也更愿意告诉你
    以上若还不足以解决,短期快速消化困难,就得多投入时间
    还解决不了就跟领导说,让他找人告诉你或者在想办法
    About     Help     Advertise     Blog     API     FAQ     Solana     3001 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 51ms UTC 15:20 PVG 23:20 LAX 08:20 JFK 11:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86