• 请不要在回答技术问题时复制粘贴 AI 生成的内容
coetzee
V2EX  ›  程序员

吐槽:维护别人的代码真蛋疼!

  •  
  •   coetzee · Jun 6, 2013 · 7948 views
    This topic created in 4900 days ago, the information mentioned may be changed or developed.
    今天修改一个同事写的java代码,一个方法整整八百行,当时真想把《重构》甩他头上!
    37 replies  •  1970-01-01 08:00:00 +08:00
    kylefeng
    kylefeng
    Jun 6, 2013
    1
    重构后:xxxAdapter, xxxFactory, xxxBuilder, xxxManager, xxxHandler, xxxFilter, xxxFacade, xxxComponent 等等,一大坨。
    dreampuf
    dreampuf
    Jun 6, 2013❤️3
    2
    怎么现如今还有人天真的以为一本《重构》就能呼唤醒人性的洁癖?!

    起码得九本:《GoF》,《重构》,《代码匠艺》,《代码大全》,《代码简洁之道》,《编码》,《人月》,《人件》,《修炼之道》

    啪啪啪!啪啪啪!啪啪啪! 的甩在他的脸上,让他知道,什么叫做码农!
    heroicYang
    heroicYang
    Jun 6, 2013
    3
    既然都接手维护了,还有什么比重构烂代码更紧急的事情呢,哈哈,祝楼主好运!
    saharabear
    saharabear
    Jun 6, 2013
    4
    见过一个牛人,过他手的代码,40%都会变得好起来。
    vietor
    vietor
    Jun 6, 2013
    5
    重构是“纯心情”活,如果真如 @kylefeng 吐槽的那样,还不如不进行结构呢,按着原来的风格改。
    重构改的是“功能和扩展性”,不是“风格”。java这种语言最大的问题就是“类”的膨胀,如果将800行代码分出4、5个类来就不合算喽。
    Golevka
    Golevka
    Jun 6, 2013
    6
    @dreampuf 虽但厉
    vvii
    vvii
    Jun 6, 2013
    7
    @saharabear 60%的隐喻。
    acpp
    acpp
    Jun 6, 2013
    8
    反之,别人维护你的也是一样。
    akira
    akira
    Jun 6, 2013
    9
    今天修改一个同事写的java代码,一个方法能实现的东西,整了八个类出来,当时真想把《GoF》,《重构》,《代码匠艺》,《代码大全》,《代码简洁之道》,《编码》,《人月》,《人件》,《修炼之道》甩他头上!

    别人看你代码会这样吐槽不。。。
    brando
    brando
    Jun 6, 2013
    10
    不要抱怨,默默的改進...加油!
    tyzc
    tyzc
    Jun 6, 2013
    11
    @saharabear 必须对业务觉得了解才能修改,要不然就Bug了!!
    banxi1988
    banxi1988
    Jun 6, 2013
    12
    @kylefeng
    @akira
    重构最多的是extract method。
    method name as a direct comments。
    哪里像你们说的就一定要extract 这么多类来,
    而且如果像你们说的搞这么多类的话,肯定是设计模式患者了。
    800多行的代码,要么是逻辑真的太复杂了。要不就是。太懒了。
    一直写,写啊写。吃完饭回来,写啊写。
    一不小心800多行了。下班了。......,然后.....
    wzxjohn
    wzxjohn
    Jun 6, 2013
    13
    呵呵
    liwei
    liwei
    Jun 6, 2013
    14
    彼此彼此
    judasnow
    judasnow
    Jun 6, 2013
    15
    他的变量名全是用的拼音缩写而且没有文档吗(如 XX XQ CSRQ XGID XJJ ..)?
    没有的话 他对你已经很仁慈了。。。
    saharabear
    saharabear
    Jun 6, 2013
    16
    @tyzc 靠单元测试。
    saharabear
    saharabear
    Jun 6, 2013
    17
    @vvii 我很佩服能改10%以上的人。
    kk71
    kk71
    Jun 7, 2013
    18
    pythoner飘过……java的类膨胀太可怕了
    aurorawu
    aurorawu
    Jun 7, 2013
    19
    跟楼主握个爪,这两天我也是修改之前项目别人写的Java代码要疯掉了
    xiluo
    xiluo
    Jun 7, 2013 via Android❤️1
    20
    不要为事情的开始而兴奋,不要为事情的结束而懊恼,不要为生活的开始而疯狂,不要为旅程的结束而伤感,一切随风而来,随风而去,自然自由自在,如云如海如山。
    RisingV
    RisingV
    Jun 7, 2013
    21
    写点简洁点的代码,真的需要看那么多书吗?不妨自己仔细思考,提取抽象,照样能写得很漂亮。

    要知道设计模式不是本来就存在的,也是别人的经验。

    按照个人经验来讲,可以概括一下自己的抽象方式,然后和书上一比对,你发现自己重新发明了这些设计模式,你明了这些设计模式真正的适用场景,而不是死搬硬套,除了成就感还得到了很好的修炼。
    fishsjoy
    fishsjoy
    Jun 7, 2013
    22
    @RisingV 中啊。
    感觉忽然就有人跳出来,说你一直用的方式都是他发明的,叫做“设计模式”。
    重要的是融会贯通,不是起个教条的名字。
    ijse
    ijse
    Jun 7, 2013
    23
    呵呵 ,, 呵呵 。。
    zhangdawei
    zhangdawei
    Jun 7, 2013
    24
    800行就扛不住了?
    我在维护的代码,一个function 3000多行,最多11层if/else/switch。
    sdslnmd
    sdslnmd
    Jun 7, 2013
    25
    维护2K行的方法的微笑走过
    likexian
    likexian
    Jun 7, 2013
    26
    我写了一个函数,3万多行,你们看着办
    alsotang
    alsotang
    Jun 7, 2013
    27
    @likexian 这个函数最终会输出 42 吗?
    luikore
    luikore
    Jun 7, 2013
    28
    换个语言就40行的事没人纠结长度了...
    Golevka
    Golevka
    Jun 7, 2013
    29
    @likexian 这个函数最终会输出42吗?
    achellis
    achellis
    Jun 7, 2013
    30
    String jsonData =" {
    // 800行
    }";

    XD
    ini
    ini
    Jun 8, 2013
    31
    @alsotang @Golevka

    看来两位都已经知道宇宙的终极答案。。 :-D
    msg7086
    msg7086
    Jun 8, 2013
    32
    @ini 这函数在运行到最后几行的时候好像会因为超时而被kill掉
    ini
    ini
    Jun 8, 2013
    33
    @msg7086 这个说法的出处是?表示没看懂。。
    msg7086
    msg7086
    Jun 9, 2013
    34
    @ini 为了建造高速公路而已
    whaon
    whaon
    Jun 9, 2013
    35
    @alsotang 你内裤一定是黑色的
    samuel
    samuel
    Jun 9, 2013 via Android
    36
    别人的代码永远没有自己的代码看着舒心啊,试着将维护别人代码看作是一种修行,你会更有收获的
    stevenhu888
    stevenhu888
    Jun 9, 2013
    37
    哥,先不要考虑太多,先保证系统正常运行。。别改崩了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2774 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 77ms · UTC 13:25 · PVG 21:25 · LAX 05:25 · JFK 08:25
    ♥ Do have faith in what you're doing.