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

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

  •  
  •   winterbells · 2019-10-10 12:41:51 +08:00 · 3406 次点击
    这是一个创建于 1879 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前两个月: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 12:53:38 +08:00 via iPhone
    特别看不惯这种打补丁不解决根本问题的做法,但为了赶项目进度,我只有临时打补丁先解决一下
    sansecy
        2
    sansecy  
       2019-10-10 13:11:40 +08:00 via iPhone
    我这边也是,老项目,一个 activity 千把行,都不敢改,就怕表现不一致
    wangkun025
        3
    wangkun025  
       2019-10-10 13:13:09 +08:00
    Windows 都打补丁,大家也就别太傲娇了
    Cbdy
        4
    Cbdy  
       2019-10-10 13:14:59 +08:00
    很多时候我也在想这个问题,有这样一些观点:

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

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

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

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

    @jimrok # 5 我都去不了大厂😭

    @mrant # 6 不如重写。。。


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


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

    升级船新版本是最好的方法,但这东西花费太大,公司不愿意做
    javaWeber
        15
    javaWeber  
       2019-10-12 16:53:27 +08:00
    我现在就是这个处境。。好痛苦。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2780 人在线   最高记录 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.