最近接了一个屎山项目,前同事搞了几个月跑路了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pursuit9
V2EX    职场话题

最近接了一个屎山项目,前同事搞了几个月跑路了

  •  
  •   pursuit9 7 天前 4477 次点击

    项目是其他公司搞了好几年了,中间都不知道换了几拨人,然后现在被我们接受了。有点烦。。。

    第 1 条附言 nbsp;  7 天前
    说一下背景,这个项目是其他公司干了好多年的一个项目,他们都已经换了好几波人了,我们公司是应甲方要求转接过来的。对方提供的资料文档很多和现在代码其实对不上,里面存在很大的出入,而且也不会再提供更完整更明确的文档了。其中还涉及到十几年前的技术栈,保留了大量的代码,但是可能只有有限的功能在用(是的,还在用,所以不想花精力去排除。。。)

    大致看了下这个项目,目前是极其冗余,大部分功能可能已经废弃了,但是代码还保留着,也没有注释,因此里面存在大量无用的代码,但是没有人能确定是否有用,也没人会去清理。还有很多重复的功能项,这些重复的东西一部分有用一部分是无用的,但是又存在一些交叉交互,耦合极其严重,如果要排除需要花费极大的精力去完成。

    这些问题也都给领导反馈了,之前领导还想说把代码接过来,我的意见是与其花费这个精力,不如直接重新做一套。反正目前的策略就是不动如山,改我是一点都不想动了,烂就烂了吧。
    28 条回复    2026-01-08 11:32:19 +08:00
    imik
        1
    imik  
       7 天前
    让 AI 写文档、重构
    Duanye7X24
        2
    Duanye7X24  
       7 天前   2
    绝大部分公司的项目都是屎山,去接手你项目的人,跟你一样的感受,屎山。想办法重写吧。
    PS: 每人觉得维护屎山挺轻松的吗?(隐含条件,公司已经习惯屎山的效率和功能了,没有故障效率等等那些压力)只要贴膏药就行
    cubecube
        3
    cubecube  
       7 天前
    @Duanye7X24 哪天屎崩了得全接着,咋会轻松
    Duanye7X24
        4
    Duanye7X24  
       7 天前
    @cubecube 屎山又不是你搞出来的,你只是接手,领导又不是瞎子,不至于全让你背锅的,而且据我这么多年维护屎山的经验,屎山一般不会蹦,只会越来越臭
    jimrok
        5
    jimrok  
       7 天前   1
    上 AI 干,装上 kilocode 插件,买上几个套餐。把需求规格写好,让 AI 根据需求规格,写测试用例,然后把全部测试都覆盖来了。然后再让 AI 开始重构,跑测试用例,验证重构成功,一点点干起来。
    pursuit9
        6
    pursuit9  
    OP
       7 天前
    @Duanye7X24 #2 真没法重构,耦合极其严重,只能是往上面堆新功能了。好消息是,目前暂时只是接受还不涉及大的新功能和功能改动,反正重构是没想法了,不折腾,万一崩了就没法甩锅了
    pursuit9
        7
    pursuit9  
    OP
       7 天前
    @jimrok 这种方式是能彻底解决,但是这工作量直接起飞了啊
    FreeGuy
        8
    FreeGuy  
       7 天前
    只有屎一样的团队没有屎一样的项目,屎项目在精英团队手里也能发光发亮,前提是钱给够。
    jimrok
        9
    jimrok  
       7 天前
    @pursuit9 可以让 AI 针对某个功能生成一个规格说明书,你检查没问题后,让另外一个 AI 生成测试代码。一个个功能慢慢去耦合,多写单元测试,只能这样慢慢拆。另外要是系统的价值不大就这样去吧,改 TMD 的屎山,未来代码可能都是 AI 实时生成,不需要考虑未来需求,如果需求变了,直接重新生成。
    jimrok
        10
    jimrok  
       7 天前
    以后哪有什么屎山代码,都是 AI 屎出来的代码,流浪地球 2 里的场景就要实现了,操作系统根据需求实时生成,刷进机器里。
    pursuit9
        11
    pursuit9  
    OP
       7 天前
    @jimrok #9 是的,直接堆新功能就好了,真要慢慢去改,感觉不如重新做。
    pursuit9
        12
    pursuit9  
    OP
       7 天前
    @FreeGuy 又要马儿跑,又要马儿不吃草
    forbreak
        13
    forbreak  
       7 天前
    @cubecube 我维护的屎山马上 4 年了,这是屎山经历了 3 家公司。 里面乱七八糟的,但是有人维护基本上崩了也有办法处理。给钱就能维护下去。 怎么会全崩,都是继续拉屎往上堆。
    Cruzz
        14
    Cruzz  
       7 天前
    啥项目时间长都是屎山,只是变成屎的时间长短的问题,屎山代码反而很稳,加需求就写新逻辑,别的不动就好了。bug 已经很少了。其实放下你心里的厌恶屎山也没那么难。
    Cruzz
        15
    Cruzz  
       7 天前
    @cubecube 屎山哪那么容易蹦。屎山反而很稳。
    devtk
        16
    devtk  
       7 天前
    让 claude code + opus 给你重构
    harlen
        17
    harlen  
       7 天前
    加个访问日志,和无侵入得覆盖率插件。 运行一段时间,你就知道,现在还在用得是哪些接口了,没用得接口就先关了,有人用,总会提 bug 得
    vansiit
        18
    vansiit  
       7 天前   10
    别重构!!!!!

    上面这些让你用 ai 重构的人,真的重构过十几年前的项目吗

    我真搞过,还不是重构。升级 java8 到 17 ,升级所有存在安全漏洞的三方包。

    一步一步从解决报错->编译通过->打包通过->启动成功->解决所有运行报错->跑通业务->部分上线->解决 bug

    前后陆陆续续干了几个月,还是分批上线,上线后还是有一堆 bug ,所幸用户量不大。

    https://vansiit.cc/2025/05/21/project-upgrade.html
    EthanV2
        19
    EthanV2  
       7 天前
    继续维护:一遍维护一遍用 ai 辅助理解代码和输出文档
    直接重写部分功能模块:需要领导同意并且给时间和资源
    我不建议重构
    pursuit9
        20
    pursuit9  
    OP
       7 天前
    @Cruzz #14 是这么回事,眼不见为净,有问题再说
    pursuit9
        21
    pursuit9  
    OP
       7 天前
    目前是这个打算
    TArysiyehua
        22
    TArysiyehua  
       7 天前
    上面说 AI 的,千万别信,你自己不知道哪个代码是否有用,AI 也不知道,它随便给你删掉了,你等业务报错了再恢复?别听上面的扯淡
    teric
        23
    teric  
       7 天前
    不要重构,不要重构,不要重构!!!
    dongdong12345
        24
    dongdong12345  
       7 天前
    别重构,能跑就行了。有新需求,让 AI 阅读项目代码,再根据新需求出方案,写代码,省下时间摸摸鱼吧
    florentino
        25
    florentino  
       7 天前
    这个可太简单了,拉个分支,让 AI 对每行代码写注释, 后续改起来就没有什么心智负担了
    nuonuojump
        26
    nuonuojump  
       7 天前
    可别重构,能跑就行,新的需求新开发。崩了就是天大的黑锅。重构这种 除非自己业务熟悉到姥姥家,不然谁重构谁背锅。除非上面给指令。
    pursuit9
        27
    pursuit9  
    OP
       7 天前 via Android
    @florentino 这个可以啊
    luozic
        28
    luozic  
       6 天前
    AI 加单测,尤其是修改的部分。搞好隔离。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3932 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 00:54 PVG 08:54 LAX 16:54 JFK 19:54
    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