想要重构屎山老项目,有成功实践的老哥分享一下经验嘛? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
crocoBaby
111.78D
V2EX    程序员

想要重构屎山老项目,有成功实践的老哥分享一下经验嘛?

  •  
  •   crocoBaby 4 天前 1680 次点击
    公司的老项目已经立项 5 年多了,用的技术栈还是 vue2 的,ui 框架和周边生态已经不维护了,现在想要升级成 vue3 生态的,需要保持页面逻辑不变,只是改变整体项目的依赖为 vue3 生态的,有人成功重构过吗?会不会有什么坑?
    27 条回复    2026-03-11 08:43:02 +08:00
    zls3201
        1
    zls3201  
       4 天前
    想要成为亿万富翁 请成功老哥 分享一下经验
    crocoBaby
        2
    crocoBaby  
    OP
       4 天前
    @zls3201 首先等我成为亿万富翁,再分享给你
    coderJie
        3
    coderJie  
       4 天前
    等我重构成功一个屎山老项目再分享给你。
    crocoBaby
        4
    crocoBaby  
    OP
       4 天前
    @coderJie 好的哥
    zhonghao01
        5
    zhonghao01  
       4 天前
    在以前没有 ai 的时候把公司管理后台的 jsp 的页面都慢慢重构重 vue3 了。

    管理后台的重构就简单很多,可以一个页面一个页面的重构,老的嵌套进去就行了,基本不影响正常使用。
    现在用 ai ,自己写好规则/skills 应该简单很多吧。
    crocoBaby
        6
    crocoBaby  
    OP
       4 天前
    @zhonghao01 h5,后台管理用的 vue3 不用重构
    Ketteiron
        7
    Ketteiron  
       4 天前
    老 ui 框架无法适配 vue3 ,基本上要换掉大部分依赖项。
    如果用组合式,这个难度基本上等于从零编写一个新项目。如果延续选项式,那没有重构的意义。
    crocoBaby
        8
    crocoBaby  
    OP
       4 天前
    @Ketteiron vue3 肯定想要用组合式的,可选链也很方便,不用老报错 null 和 undefined,自己手写难度很高,真的从零编写差不多了,就是不知道 ai 能不能直接一步到位
    Ariver
        9
    Ariver  
       4 天前
    前端只是展示吗?有没有什么业务逻辑.....
    crocoBaby
        10
    crocoBaby  
    OP
       4 天前
    @Ariver 有的,一些状态计算判断
    godmiracle
        11
    godmiracle  
       4 天前
    大概相当于重写。 领导没要求别费力不讨好,重构后出问题责任可是你的
    crocoBaby
        12
    crocoBaby  
    OP
       4 天前
    @godmiracle 就是自己维护很心累啊
    beiyue
        13
    beiyue  
       4 天前
    用 React 重写一下
    InternetExplorer
        14
    InternetExplorer  
       4 天前
    经验就是不要动
    crocoBaby
        15
    crocoBaby  
    OP
       4 天前
    @beiyue 不懂 react
    crocoBaby
        16
    crocoBaby  
    OP
       4 天前
    @InternetExplorer 听你的
    Gilfoyle26
        17
    Gilfoyle26  
       4 天前
    直接 Ai 呀,分分钟
    XavierLing
        18
    XavierLing  
       4 天前   1
    分 2 种
    1 、如果只想管好自己的一亩三分地,那么简单,顶层套接口,ab 实现分叉,a 是自己 b 是老的
    2 、全权负责了,就得下点功夫了,吃透业务,捋下流程,设计下标准接口
    最后,公司如果几年没加薪了,你还不如多背背面经算法,搞这。。
    ownSun
        19
    ownSun  
       4 天前   1
    重构的工作量 测试的工作量 出问题以后的责任, 不是上层要求尽量不要动,你动了出问题就是你的责任。
    pikachu233
        20
    pikachu233  
       4 天前
    代码层面不难,难在业务层面
    AoEiuV020JP
        21
    AoEiuV020JP  
       4 天前
    我重构最大的是一个复杂页面,三五十个类,整个架构推倒重来,
    自认为很小心的让 AI 准备了 原代码问题梳理/最终的新设计/重构过程计划 三个文档反复调整确认好了再开工,
    最后还是有些 字段赋值了没使用 之类的细节问题没 reviewer 到,后面测出 bug 才发现,
    最终让 AI 自己总结了个重构的 skill ,也不好说有没有实际价值,
    dtdths1
        22
    dtdths1  
       4 天前
    重构不难,难的是要测试资源,没人愿意白干活/白担责。
    kuan1
        23
    kuan1  
       4 天前
    新功能使用新技术,旧功能使用旧技术
    crocoBaby
        24
    crocoBaby  
    OP
       4 天前
    @AoEiuV020JP skill 是比较严谨的方法了,不过最后还得是要测试同事测一遍的,这个太难了,请奶茶都不肯
    crocoBaby
        25
    crocoBaby  
    OP
       4 天前
    @dtdths1 确实
    crocoBaby
        26
    crocoBaby  
    OP
       4 天前
    @kuan1 不行的,底层架构用的就是旧技术
    shiloh595
        27
    shiloh595  
       4 天前
    按兵不动
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2526 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 306ms UTC 01:52 PVG 09:52 LAX 18:52 JFK 21:52
    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