这几个月都在重构代码,心累 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
300
V2EX    职场话题

这几个月都在重构代码,心累

  •  
  •   300 2019 年 10 月 10 日 3984 次点击
    这是一个创建于 2285 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前两个月:Java +kotlin + MVC + MVP + MVVM 巨型混合项目 A 这一个月:Java + MVC + MVP 老年大型项目 B

    项目 A 我大概负责了 3/5,原先的工程简直就是回收站,什么都有,参与人数多,每个人风格都不一样。一公有十来万行代码(不带 XML )。都快把人看疯了,重写都比重构快。 最可气的是打补丁式代码。

    • 如果页面加载完成后的 UI 不对,那么就在 onCeate() 下面加代码,直到 UI 正确
    • 如果点击按钮后的 UI 不对,那么就在点击事件最后加代码,直到 UI 正确

    真是服了这帮人,到处能看到某一个变量被调用了十几次。所以知道为什么代码这么多了吧 (#吐血

    后来放弃了,时间不够,加班加点也赶不上,尽量按照它原来的代码转成 kotlin,主要把 MVC 转成 MVVM。一点点抠逻辑得做半年


    项目 B 好像有个五六年了,各种历史遗留问题,逻辑巨复杂。本来有个页面要我写的,看了一下 activity 2000+ 行,presenter 2000+ 行,还不带封装到 SDK 里的。我把页面画好后就还回去了。。

    重构真是到处受气,一会儿和老版本不一样,一会儿和 iOS 不一样。老版本有些 bug 还要带上,不然要么说逻辑不一样,要么说 UI 效果不对。还有 iOS 有问题去找 iOSer 啊,老让我们 Androidor 改干嘛?

    还有个废物队友拖后腿就不说了,谁爱管他谁管去。。。


    项目 A 做好之后就死了。。

    15 条回复    2019-10-12 16:53:27 +08:00
    itenyh
        1
    itenyh  
       2019 年 10 月 10 日 via iPhone
    特别看不惯这种打补丁不解决根本问题的做法,但为了赶项目进度,我只有临时打补丁先解决一下
    sansecy
        2
    sansecy  
       2019 年 10 月 10 日 via iPhone
    我这边也是,老项目,一个 activity 千把行,都不敢改,就怕表现不一致
    wangkun025
        3
    wangkun025  
       2019 年 10 月 10 日
    Windows 都打补丁,大家也就别太傲娇了
    Cbdy
        4
    Cbdy  
       2019 年 10 月 10 日
    很多时候我也在想这个问题,有这样一些观点:

    “比如打工就是用时间、输出换钱”
    “做完需求功能 OK 就完事儿”
    “能用就行了,代码写得再好又有什么用”

    然而事实确实似乎如此,毕竟做程序员就是打工糊口
    除了创业,有多少人把手头写的代码作为自己的事业乃至心血?

    所以我估计大多数公司的代码、架构是比不上外面的开源项目的
    jimrok
        5
    jimrok  
       2019 年 10 月 10 日
    去大厂也一样,经手的人更多,就像爬一座巨大的屎山。
    uTuw2C6uf964Kx6o
        6
    uTuw2C6uf964Kx6o  
       2019 年 10 月 10 日
    我一个前端,
    公司重构了十几年积累的老 OA 项目,业务逻辑缠绕的复杂程度远远大于前端的技术难度,崩溃
    eric1202
        7
    eric1202  
       2019 年 10 月 10 日
    经手多的,时间紧迫的,必然是这样的
    PandaHero233
        8
    PandaHero233  
       2019 年 10 月 10 日
    我最讨厌不写注释的
    sadfQED2
        9
    sadfQED2  
       2019 年 10 月 10 日
    还好我们公司必须经过 review,刚来的时候特别不舒服,老让我改命名,改代码位置什么的,但是现在发现,所有人代码风格一致,所有代码清晰明了,真爽
    insert000
        10
    insert000  
       2019 年 10 月 10 日
    重构已经很不错了,没让你在屎山上 加功能,还不停的迭代,就偷着乐吧
    Soulballad
        11
    Soulballad  
       2019 年 10 月 10 日 via Android
    经历过一次整体重构,至今印象深刻
    300
        12
    300  
    OP
       2019 年 10 月 10 日 via Android
    @itenyh # 1 这项目以前看起来并不着急。。

    @Cbdy # 4 毕竟是给自己用的,稳定最好,谁都不想背锅

    @jimrok # 5 我都去不了大厂

    @mrant # 6 不如重写。。。


    @PandaHero233 # 8 基本不写,文件名、方法名就能看出来用途。除非逻辑复杂加个注释


    @insert000 # 10 去年经历过了 QAQ,真的是牵一发而动全身
    jackleelss123
        13
    jackleelss123  
       2019 年 10 月 10 日
    重构为啥不重写呢!
    300
        14
    300  
    OP
       2019 年 10 月 11 日
    @jackleelss123 重写就是从零开始,但项目不能中断,该更新的还是要更新。。。

    升级船新版本是最好的方法,但这东西花费太大,公司不愿意做
    javaWeber
        15
    javaWeber  
       2019 年 10 月 12 日
    我现在就是这个处境。。好痛苦。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2648 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 06:17 PVG 14:17 LAX 22:17 JFK 01:17
    Do have faith in what you're doing.
    ubao msn 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