祖传代码 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Hakari
V2EX    职场话题

祖传代码

  •  
  •   Hakari 2022-04-28 10:09:11 +08:00 via iPhone 5737 次点击
    这是一个创建于 1261 天前的主题,其中的信息可能已经有所发展或是发生改变。
    接手要修改公司祖传代码 各种老框架 struct2 等 前后端耦合 差点吐了
    37 条回复    2022-05-10 14:01:43 +08:00
    ktqFDx9m2Bvfq3y4
        1
    ktqFDx9m2Bvfq3y4  
       2022-04-28 10:11:38 +08:00   2
    我也差不多,只要钱到位,祖传代码多半也意味着业务也是祖传(稳定)的,可以养老也挺好的。
    Hakari
        2
    Hakari  
    OP
       2022-04-28 10:14:36 +08:00 via iPhone   1
    @Chad0000 你这个角度没想到!就是要屎中雕花,有点难受
    kop1989smurf
        3
    kop1989smurf  
       2022-04-28 10:18:33 +08:00
    SSH 确实诞生时间有点长,但技术思路与应用并不落后于时代。
    不懂为啥“差点吐了”。

    要不你聊聊 SSH 的致命缺点?
    1000copy
        4
    1000copy  
       2022-04-28 10:25:44 +08:00   2
    祖传 5 年以上就是瓶瓶罐罐的了,动不的,2/3 以上都是想要碰到现在的东西,1/3 考虑添加新东西。SSH 本身到没啥。

    尽量利用开闭原则的衍生原则--多添加少修改:做啥东西都先做 bypass 旁路,做好了再接上现在的代码,断路老代码。
    Hakari
        5
    Hakari  
    OP
       2022-04-28 10:26:27 +08:00 via iPhone
    @kop1989smurf 并不是框架的问题,是各个模块互相耦合,互相依赖,前后端也耦合,要想读代码本地 debug 都费劲
    levelworm
        6
    levelworm  
       2022-04-28 10:38:25 +08:00   1
    其实我最想做的职业之一就是维护庞大的底层代码屎山,真摸清楚了自己的底层能力肯定上去了。

    奈何这种工作不好找,我水平又不行。。。
    Hakari
        7
    Hakari  
    OP
       2022-04-28 10:45:07 +08:00 via iPhone
    @levelworm 确定是底层能力 而不是维护已经被淘汰的技术?
    levelworm
        8
    levelworm  
       2022-04-28 10:47:05 +08:00
    @zhang710000 已经淘汰的底层也行。。。反正原理上都差不多。不过其实也就说说而已,我知道我实力远远不够的。
    imondo
        9
    imondo  
       2022-04-28 10:55:27 +08:00
    @levelworm 还真是,现在就是维护以前老代码,底层和一些封装思想可以参考和借鉴
    quanjw
        10
    quanjw  
       2022-04-28 10:55:49 +08:00   1
    我现在只想要赚钱的项目
    levelworm
        11
    levelworm  
       2022-04-28 11:02:44 +08:00
    @imondo 说到这个我就想到 Bank Python 的故事了。。。
    echo1937
        12
    echo1937  
       2022-04-28 11:30:41 +08:00 via iPhone   3
    @levelworm 不管是底层还是业务代码,说它是屎山很多时候因为丢失了太多信息,代码不一定很复杂 /困难。
    yousabuk
        13
    yousabuk  
       2022-04-28 11:34:43 +08:00 via iPhone
    雕花?你还想雕花?

    你继续往上拉能叠得更高就万幸了……
    ericgui
        14
    ericgui  
       2022-04-28 11:37:28 +08:00
    前端发展太快,2 年都算祖传了,升级会很麻烦的
    Hakari
        15
    Hakari  
    OP
       2022-04-28 11:39:55 +08:00 via iPhone
    @yousabuk 哈哈哈哈 说出你的故事
    fstar
        16
    fstar  
       2022-04-28 11:40:00 +08:00
    要重构,单元测试要覆盖够才行。
    然鹅国内一般都不写单元测试。
    那坨屎一样的秘制逻辑业务代码,要考虑各种场景的赶时间的 hack ,谁敢改啊。
    Hakari
        17
    Hakari  
    OP
       2022-04-28 11:40:29 +08:00 via iPhone
    @ericgui 不懂前端 请问 Angular 什么地位 我评估一下
    woomly
        18
    woomly  
       2022-04-28 11:41:16 +08:00
    Java 好歹还是静态语言,祖传 PHP 代码了解一下。。。
    brader
        19
    brader  
       2022-04-28 11:43:05 +08:00
    @woomly 本人干过 3 个祖传史诗级 PHP 代码,重构,不存在的,直接原有上复制粘贴干功能就好了。
    sarices
        20
    sarices  
       2022-04-28 11:45:17 +08:00
    参与过 php5.2 项目维护,每天都被代码支配
    Hakari
        21
    Hakari  
    OP
       2022-04-28 11:50:54 +08:00 via iPhone
    @sarices 哈哈哈 听到大家都这么惨 反而得到了安慰
    ericgui
        22
    ericgui  
       2022-04-28 12:02:54 +08:00
    @zhang710000 不懂,我用 react ,angular 也有人用,但似乎不如 react 和 vuejs 流行
    wanguorui123
        23
    wanguorui123  
       2022-04-28 13:43:52 +08:00
    前人挖坑后人填
    sundev
        24
    sundev  
       2022-04-28 14:14:18 +08:00
    核心功能还在 ASP (没有.NET )的路过,不敢动。
    yuewenjie
        25
    yuewenjie  
       2022-04-28 15:23:39 +08:00
    Struts1 、webwork 目前在用
    yangxiaopeipei
        26
    yangxiaopeipei  
       2022-04-28 15:49:01 +08:00
    @levelworm 我现在就在维护一坨屎山
    uqf0663
        27
    uqf0663  
       2022-04-28 16:04:56 +08:00
    @sundev 我挺喜欢写 ASP 的,不用考虑这这那那,直接 vb 、js 左右横跳一把梭
    haah
        28
    haah  
       2022-04-28 16:14:49 +08:00
    哪位维护过 COBOL + CICS ?至少 20 年以上的代码!
    lap510200
        29
    lap510200  
       2022-04-28 17:54:15 +08:00
    @zhang710000
    @imondo 屎山是好几代人反复维护的项目,但是不适合新人,因为辨别不了哪些是好的哪些是垃圾代码,否则会养成很坏的习惯和思维
    ktqFDx9m2Bvfq3y4
        30
    ktqFDx9m2Bvfq3y4  
       2022-04-28 17:56:37 +08:00
    @fstar 我在国外我们的屎山项目也不写,我们一样在重构,还一堆存储过程,工资不错,慢慢整呗,整好了就是人物。
    tedding
        31
    tedding  
       2022-04-28 23:51:45 +08:00 via iPhone   1
    @zhang710000 angular 各版本升级 反而是最容易的…… 多是 ts 版本升级,类型报错,补完就好……因为 2 之后的版本 很稳很稳
    glfpes
        32
    glfpes  
       2022-04-28 23:57:26 +08:00
    刚上班时就重构了 1 个 30 万行的祖传代码,那个框架我都想不起来名字了好像是 eclipse 相关的一个什么玩意,真佩服当时的老板敢让我重构这玩意,用来给亿级别用户生产 UGC 视频的。
    shmilypeter
        33
    shmilypeter  
       2022-04-29 13:50:17 +08:00
    @levelworm 你去银行就能看到了
    Hakari
        34
    Hakari  
    OP
       2022-04-29 13:50:47 +08:00 via iPhone
    @glfpes 向大佬低头 这老板有胆量 大部分老板都害怕风险 大佬重构有啥经验吗
    OrangeSinglee
        35
    OrangeSinglee  
       2022-04-29 17:01:12 +08:00
    前两天刚接手了一个。猛一下 tomcat 我不会用 idea 配置跑了。
    BrookO
        36
    BrookO  
       2022-04-29 18:02:18 +08:00
    接手过十几年的代码,一个文档注释没有,有的 jar 包源码已经失传了,,全部熟悉用了两年多,,离职后一年多还有前公司的人打电话问里面逻辑
    dog82
        37
    dog82  
       2022-05-10 14:01:43 +08:00
    @levelworm 认真梳理几周,就差不多了,我也接手过屎山代码,一个类 10000 行的那种,调试到吐血
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3611 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 10:23 PVG 18:23 LAX 03:23 JFK 06:23
    Do have faith in what you're doing.
    ubao 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