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

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

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

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

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

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

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

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

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

    @mrant # 6 不如重写。。。


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


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

    升级船新版本是最好的方法,但这东西花费太大,公司不愿意做
        15
    javaWeber   56 天前
    我现在就是这个处境。。好痛苦。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   862 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 21:28 · PVG 05:28 · LAX 13:28 · JFK 16:28
    ♥ Do have faith in what you're doing.