V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
darknoll
V2EX  ›  程序员

我发现公司里面最难的活并不是开发新产品新功能,而是在没有文档没有人会的老代码上增加功能

  •  
  •   darknoll · 58 天前 · 5671 次点击
    这是一个创建于 58 天前的主题,其中的信息可能已经有所发展或是发生改变。

    简直是太难了 孤立无援,每天都是绝望的心情,战战兢兢,不知道什么时候能干完活,甚至都不知道能不能完成功能 有时候踩到一个坑要花一两天时间解决,这就是传说中的苦活脏活累活了吧

    60 条回复    2021-06-08 14:54:36 +08:00
    wqgogogo
        1
    wqgogogo   58 天前
    看代码一天,写代码一小时
    darknoll
        2
    darknoll   58 天前
    @wqgogogo 写代码的时候全靠猜
    zjsxwc
        3
    zjsxwc   58 天前
    所以要有好的设计,
    NetBeans 这些开源项目的源码都很容易上手。
    mazyi
        4
    mazyi   58 天前 via iPhone   ❤️ 4
    还好啦,至少你还有代码。。。见过 20 年前没有代码的项目要改的吗
    Cbdy
        5
    Cbdy   58 天前 via Android
    不想改可以提桶跑路
    Hconk
        6
    Hconk   58 天前 via iPhone
    @mazyi 给二进制文件打 patch 吗,之前看过一篇文章就是直接改二进制文件修 bug 。
    taogen
        7
    taogen   58 天前
    我也经历过。无数人接手,无数个人的屎山,没有文档,只能硬啃代码,然后继续在屎山上堆代码。
    我的做法是部分重构,老的模块不管,新的模块不参考之前的代码而是自己重新搭建一套基础结构上写。
    mazyi
        8
    mazyi   58 天前
    @Hconk 是的,都不是正常的开发干的事情了,感觉自己是一个黑客 hhhhh
    AngryPanda
        9
    AngryPanda   58 天前   ❤️ 1
    增加功能不是最难的,而是要求你重构这些老代码。
    zhongjun96
        10
    zhongjun96   58 天前   ❤️ 1
    😷 我司乙方跑路,没给源码,只给了安装包,只能反编译出来继续改。变量名全是 i1,i2,i3 。老代码最起码看字段命名还能猜一猜
    leven87
        11
    leven87   58 天前   ❤️ 1
    这种代码怎么通过代码评审的,不规范的公司还是跑路吧,反正也学不到什么东西
    AngryPanda
        12
    AngryPanda   58 天前
    @leven87 如果钱还行呢,舍不得跑啊
    ningfan120
        13
    ningfan120   58 天前
    PS0977yM5aKe5Yqg5Yqf6IO95Lmf5aW96K+077yM5pyA5oCV5aKe5Yqg5Yqf6IO95L6d6LWW5LmL5YmN6ICB5Luj56CB55qE77yM55yL5LiA5aCG5bGx44CC44CC44CC44CC44CC44CC
    darknoll
        14
    darknoll   58 天前
    @zhongjun96 这活你接了?
    zhongjun96
        15
    zhongjun96   58 天前
    @darknoll #14 打工人,没得选择的权利
    darknoll
        16
    darknoll   58 天前
    @zhongjun96 如果是 C#那种还好一点,如果是 C/C++的话,感觉没法改啊
    sadfQED2
        17
    sadfQED2   58 天前 via Android
    @zhongjun96 大佬牛逼,收下我的膝盖
    Exin
        18
    Exin   58 天前
    俺也一样!成就感全无
    bagel
        19
    bagel   58 天前
    没有文档没啥影响,好的代码本身就是文档。怕的是代码本身质量不行。。
    pkoukk
        20
    pkoukk   58 天前
    老的可以维护,拒绝增加功能。
    增加功能一律新写
    falcon05
        21
    falcon05   58 天前 via iPhone
    无他,唯手熟尔
    TokyoNight
        22
    TokyoNight   58 天前
    而且这种改完还最容易出 bug
    fkdtz
        23
    fkdtz   58 天前
    在屎山上拉屎,之后交给下一个人
    zpfhbyx
        24
    zpfhbyx   58 天前   ❤️ 2
    😂 还有比这难的。。 除了线上。。线下代码根本跑不起来。。
    geekboy
        25
    geekboy   58 天前 via Android
    有同感
    fengjianxinghun
        26
    fengjianxinghun   58 天前
    @darknoll patch 汇编 注入,当然能,难是难点
    lifespy
        27
    lifespy   58 天前
    @zpfhbyx #24 哈哈,我之前遇到一个项目就是,只能文件替换的,java
    Kv_se7en
        28
    Kv_se7en   58 天前
    我这也遇到过,另一个项目组散了,我们接,然后项目代码不全,配置项不全,安装的有些 npm 组件是私有的,非常醉人。
    charlie21
        29
    charlie21   58 天前
    @pkoukk #20 敢问是写什么语言 用什么 SDK 的
    arbit
        30
    arbit   58 天前
    @taogen 额不参考之前的代码的话,等到你离职的时候,下个接手的人又是一堆更高的屎山
    Rocketer
        31
    Rocketer   58 天前 via iPhone
    我也搞过,而且我想写个独立插件插进去用还不允许,领导逼着我拉跟以前风格一样的屎
    yimity
        32
    yimity   58 天前
    我现在经常干的事就是在我们 12 年 extjs 4.1.2 的没有文档的系统中加功能,改代码。
    v2erxh
        33
    v2erxh   58 天前
    再加一条:测试环境没办法测
    Routeros
        34
    Routeros   58 天前
    本来就是啊
    xuanbg
        35
    xuanbg   58 天前
    盲生,你终于发现了华点!
    iovekkk
        36
    iovekkk   58 天前
    没有文档算什么
    我现在去紧急支援一个项目
    这个项目有六七百个 bug 要修复
    但是我没有测试车机去运行调试代码
    然后跟我说要我尽快熟悉,把修 bug 的速度提上去
    kamal
        37
    kamal   58 天前
    @iovekkk #36 在线调试,可刺激了
    yhyh
        38
    yhyh   58 天前
    这不就是我吗,淦。特么的 人都要抑郁了
    Peikon
        39
    Peikon   58 天前
    更难的是 对没有文档没有人会的老代码进行重构
    taowen
        40
    taowen   58 天前
    https://mp.weixin.qq.com/s/UtBkJYpQHIvRQ_AQnzxxMw 如何不 Review 每一行代码,同时保持代码不被写乱?
    JRay
        41
    JRay   58 天前
    曾经在几个公司这么干过
    baba233
        42
    baba233   58 天前
    @zhongjun96 能看懂也是个人才
    chaleaoch
        43
    chaleaoch   57 天前
    Java 牛逼的地方就在这里啊...
    如果是用 python 写的够你喝一壶的.
    hyqCrystal
        44
    hyqCrystal   57 天前
    没文档 没注释 4700 行的 service 代码 加新功能 重构
    noyidoit
        45
    noyidoit   57 天前
    最近就在做这种活。。。领导叫我边看代码边写文档
    learningman
        46
    learningman   57 天前 via Android
    不错了,至少你还能用 IDE 写
    碰到只能用 olleydbg 的才是疯
    sugar2101
        47
    sugar2101   57 天前
    某国政府项目,从 77 年开始堆积的屎山,文档是纸质的,轻轻一碰纸就要碎了的那种破旧手册,只能运行在 Solaris 系统上,需要升级添加新功能。做了一年感觉自己铲屎的能力得到了升华
    Addup
        48
    Addup   57 天前
    @hyqCrystal 准备接手一个没文档, 没注释, 一个文件上万行, 整个工程上百个文件的屎山
    xuanbg
        49
    xuanbg   57 天前
    @Addup 你这个充其量只能算是比较臭的大屎堆,还不够资格叫屎山。
    bclerdx
        50
    bclerdx   57 天前 via Android
    @Addup 所以,写任何技术文档资料、注释说明很重要,这样后人好乘凉,避免在某些地方踩坑、犯错及注意的事项。
    darknoll
        51
    darknoll   57 天前
    @bagel 如果代码写的好,我要啥文档?我都不会发这个帖子
    a719031256
        52
    a719031256   57 天前
    @zjsxwc 项目代码哪有那么多时间去排版代码,反正能跑就行,遇到有注释的代码还好,没注释没实体,入参出参全是 map 的更蛋痛
    hqweay
        53
    hqweay   57 天前
    文档注释很迷惑人啊。我这的文档注释基本没啥参考作用……读 Clean Code,里面说到注释比不上结构良好的代码,这时才体会到里面的意思。一段代码经过了无数人的手,注释没维护过……又或者代码连带注释是前人从别处 CV 过来的……文档同理。嗐。
    beichenhpy
        54
    beichenhpy   57 天前
    多写注释。。我习惯写注释,甚至用 link 之类的标明相关的类。。
    LiSrRbE2Mac
        55
    LiSrRbE2Mac   57 天前 via Android
    一份代码多经手几个人,只要有人偷懒,文档和注释就逐渐对不上了
    lululau
        56
    lululau   57 天前 via iPhone
    一般复杂程度的系统,业务代码只要有靠谱的产品需求文档就够了吧
    wobuhuicode
        57
    wobuhuicode   55 天前 via iPhone
    我一般把自己的新功能写到一个新方法里。在这里引入试试,那里引入试试。跑起来没事就行。
    efaun
        58
    efaun   55 天前
    直接进 debug 模式写代码
    taogen
        59
    taogen   55 天前
    @arbit #30
    这样做当然前提要对自己有信心,不然还是按照之前的写法写。比如,对算法,设计模式,代码整洁规范等有一定学习和理解。
    liuky
        60
    liuky   54 天前
    @hyqCrystal 2 万行的 service 都有, 4700 真不是事
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1915 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 10:53 · PVG 18:53 · LAX 03:53 · JFK 06:53
    ♥ Do have faith in what you're doing.