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

祖传代码

  •  
  •   Hakari · 2022-04-28 10:09:11 +08:00 via iPhone · 5274 次点击
    这是一个创建于 942 天前的主题,其中的信息可能已经有所发展或是发生改变。
    接手要修改公司祖传代码 各种老框架 struct2 等 前后端耦合 差点吐了
    37 条回复    2022-05-10 14:01:43 +08:00
    Chad0000
        1
    Chad0000  
       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 屎山是好几代人反复维护的项目,但是不适合新人,因为辨别不了哪些是好的哪些是垃圾代码,否则会养成很坏的习惯和思维
    Chad0000
        30
    Chad0000  
       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   ·   实用小工具   ·   5544 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 09:24 · PVG 17:24 · LAX 01:24 · JFK 04:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.