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

你们是怎么面对 shit mountain 项目代码的?

  •  
  •   taogen ·
    tagnja · 2020-10-20 10:31:29 +08:00 · 3595 次点击
    这是一个创建于 1477 天前的主题,其中的信息可能已经有所发展或是发生改变。

    入职公司一个月左右,目前主要工作是维护公司的老项目,面对屎山代码真的太难受了。

    • 没有文档说明。没有任何项目文档,只有代码和数据库。
    • 没有规范。项目文件结构混乱。代码编写不规范,数据库设计不规范、风格不统一,接口设计不规范、不统一。
    • 没有注释。代码和数据库字段几乎没有注释。
    • 使用技术老旧,使用开源依赖库版本老旧。
    • 代码冗余。代码不重构,一直往里面重复堆代码。
    • 单体结构,项目太大,启动太慢,开发效率低。
    30 条回复    2020-10-21 09:05:56 +08:00
    xiaofan305
        1
    xiaofan305  
       2020-10-20 10:34:05 +08:00 via Android
    继续往里面拉 shit
    taogen
        2
    taogen  
    OP
       2020-10-20 10:36:17 +08:00 via Android
    xuxu5112
        3
    xuxu5112  
       2020-10-20 10:36:39 +08:00   ❤️ 1
    新增代码按照一定的规范(至少能让自己满意的规范)添加,老代码能完全搞懂的尝试修改,不能完全搞懂的 else if 。
    edenma
        4
    edenma  
       2020-10-20 10:37:12 +08:00
    继续往里面拉 shit
    GM
        5
    GM  
       2020-10-20 10:37:33 +08:00
    大部分公司代码都这样,去哪都一样,所以,忍着吧。

    (你要说微软、G 这类高大上的公司,那另外说)
    x940727
        6
    x940727  
       2020-10-20 10:38:30 +08:00
    @GM Windows 不是一样屎山……没有任何项目能跑得了
    raymanr
        7
    raymanr  
       2020-10-20 10:38:47 +08:00   ❤️ 1
    继续加 if

    加 if 也解决不了就直说解决不了

    随时准备跑路
    rurishi
        8
    rurishi  
       2020-10-20 10:51:46 +08:00
    继续往里面拉 shit
    hbolive
        9
    hbolive  
       2020-10-20 10:58:14 +08:00   ❤️ 1
    一点一点的啃下来,然后再拉成自己熟悉的 shit mountain
    让下一位继续啃
    tikazyq
        10
    tikazyq  
       2020-10-20 10:58:49 +08:00
    继续拉
    boris93
        11
    boris93  
       2020-10-20 11:14:51 +08:00 via Android   ❤️ 1
    能稍微擦一擦的,就擦一擦
    擦不了的,就接着往上面拉
    当然,我会尽量不要拉的很臭
    xishijt
        12
    xishijt  
       2020-10-20 11:26:17 +08:00
    日常优雅的如何处理 shirt mountain 贴
    cincout
        13
    cincout  
       2020-10-20 11:46:11 +08:00
    @hbolive 哈哈哈哈哈哈
    5sheep
        14
    5sheep  
       2020-10-20 11:49:18 +08:00
    把自己当成 shi ke lang 啊
    liuawei
        15
    liuawei  
       2020-10-20 11:53:45 +08:00
    那么难受 那就跑路吧 还在等啥
    zoffy
        16
    zoffy  
       2020-10-20 12:09:50 +08:00
    以前我遇到这个问题老想着重构项目或者重写,现在不想了,因为没人在乎,只会给自己带来无尽的痛苦烦恼。

    正确的做法是,加个 if else,赶紧提交赶紧撤退。
    GM
        17
    GM  
       2020-10-20 12:12:50 +08:00
    @x940727 相对好很多吧,人家起码是码的比较规整的屎山,有些公司的屎山,从入口开始就是满地都是一堆一堆的小屎峰,根本没有落脚的地方。
    speculatorA
        18
    speculatorA  
       2020-10-20 12:20:30 +08:00
    @xuxu5112 老代码真是别碰别改。。出点问题人就炸了。 真想改复制一份出去玩。
    qwerthhusn
        19
    qwerthhusn  
       2020-10-20 12:27:51 +08:00
    说实话,就是新项目,做两个迭代就变成了小屎堆。。
    maichael
        20
    maichael  
       2020-10-20 12:38:13 +08:00   ❤️ 1
    看你个人想法,如果你只是想在那里混一混的话,那你就能不碰就不碰,能维持那么久的屎山有它的道理。
    如果你想混久一点,那么你可以做一些外层加固,加多点测试,外面包一层把屎山跟新东西做个隔离之类的。

    像我其实很享受做清理重构的活,就像家里大扫除一样,清理和扔东西让我很有成就感,我会先逐步解耦然后每个模块单独重构,重构过程输出文档和添加单元测试
    mamahaha
        21
    mamahaha  
       2020-10-20 12:47:51 +08:00
    如果难度太大超过预期就找老板加钱,老板不答应就重新找下家。要是规规矩矩的都给写好了,估计也轮不到你接手,天上掉馅饼的事也不是没有,你得再多找找,不可能一出家门大馅饼就砸头上。
    RJH
        22
    RJH  
       2020-10-20 14:25:39 +08:00
    尽快把手头的活干完,上班摸鱼不香吗?
    PinkRabbit
        23
    PinkRabbit  
       2020-10-20 14:34:37 +08:00
    继续拉 shit,能跑就行,除非钱到位,钱不到位就继续拉 Shit,拉完摸鱼
    JDog
        24
    JDog  
       2020-10-20 15:15:13 +08:00   ❤️ 1
    "新人和老人的区别就是面对一坨屎山,新人会大吃一斤。老人会贤淑的避开最臭的那部分屎,然后灵巧的在保证屎山不垮的情况下把自己的屎再拉一层上去"
    via @est
    j747677392
        25
    j747677392  
       2020-10-20 15:42:05 +08:00
    重构是需要成本的,即使重构过几年后也会被新来的说是 shit,既然如此保证自己新拉的这坨在离职前不塌就好了。。。
    est
        26
    est  
       2020-10-20 16:10:58 +08:00
    @JDog 怎么我记得在哪里看过这个帖子。。
    zunceng
        27
    zunceng  
       2020-10-20 16:37:30 +08:00
    花了大半年重写 搞离职了一半人 这个代价够不够
    wangsd
        28
    wangsd  
       2020-10-20 16:54:58 +08:00
    别管,真的别管,到头来难受的是自己,能跑就好,自己的代码尽量写好一点,况且你刚接手,你不知道改了哪些玩意会发生什么。
    Leonard
        29
    Leonard  
       2020-10-20 16:58:11 +08:00
    老代码能不动就不动,自己写的新代码有点要求就行
    JDog
        30
    JDog  
       2020-10-21 09:05:56 +08:00
    @est 哈哈,每当遇到这种帖子,都会把你的回复粘过来
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3430 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:44 · PVG 19:44 · LAX 03:44 · JFK 06:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.