你们是怎么面对 shit mountain 项目代码的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
taogen
V2EX    程序员

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

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

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

    • 没有文档说明。没有任何项目文档,只有代码和数据库。
    • 没有规范。项目文件结构混乱。代码编写不规范,数据库设计不规范、风格不统一,接口设计不规范、不统一。
    • 没有注释。代码和数据库字段几乎没有注释。
    • 使用技术老旧,使用开源依赖库版本老旧。
    • 代码冗余。代码不重构,一直往里面重复堆代码。
    • 单体结构,项目太大,启动太慢,开发效率低。
    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 哈哈哈哈哈哈
    sivl6p
        14
    sivl6p  
       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     Solana     947 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 19:24 PVG 03:24 LAX 12:24 JFK 15:24
    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