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

出差回来发现代码被重构了!

  •  
  •   dayoushen · 2018-12-28 11:07:17 +08:00 · 11797 次点击
    这是一个创建于 1936 天前的主题,其中的信息可能已经有所发展或是发生改变。

    题主属于两个产品线,出差一周搞 A 产品线事情回来,一个星期快过去了,发现 B 产品线提交了一个新版本,本着好奇的心理看看更新了什么,最后自己完成的功能被重构了,心理 MMP。首先被重构了,还是很开心,终于少了一个包袱,不用调高校提供的 SDK,他们每次更新版本都不如旧版本好用,总是缺东西;其次发现组长在毫无征兆的情况下,被代码重构了,才意思到有很大的信任危机。问问大伙有没有相关经验,如何调整心态进入下一个产品线。

    第 1 条附言  ·  2018-12-29 18:59:06 +08:00
    发现没有表达清楚,这里的重构不是指小规模的模块重写,而是整个程序的重写。

    测试是个妹子,听说测起来很痛苦,因为只给了一个脚本没有配套的工具,之前我是提供了整套的测试工具,包括压力测试工具;

    比较了新旧代码,从逻辑上基本一致,新代码用了 qt 和一些新的组件,旧代码是用原生 linux 的 c++构建。
    从整体设计上看新代码确实是比较先进,但上手会难一些,可以学习一下。


    尴尬的是,下个月开始要继续和组长奋斗在另外一个新的产品线,一个月后再来理解一下现在的心情。
    72 条回复    2018-12-29 18:59:51 +08:00
    jinhan13789991
        1
    jinhan13789991  
       2018-12-28 11:16:39 +08:00
    准备简历吧
    另外多看看设计模式
    eamon666
        2
    eamon666  
       2018-12-28 11:17:30 +08:00
    总结下自己的不足,然后复习复习 明年换一个好公司吧。
    ssynhtn
        3
    ssynhtn  
       2018-12-28 11:25:46 +08:00   ❤️ 7
    我就是那种一声不吭就重构别人的代码的人, 一般当我这样做的时候, 说明:
    1, 我对这个项目还有热情,
    2, 分配给我的任务太少, 闲的,
    3, 实在是看不上原来的代码, 感觉写的像屎
    以上三个条件缺一不可
    Phariel
        4
    Phariel  
       2018-12-28 11:28:40 +08:00 via iPhone
    谁重构谁背锅 不是挺好
    jinhan13789991
        5
    jinhan13789991  
       2018-12-28 11:31:34 +08:00
    上面其实是玩笑话,我之前一直想重构代码,领导还不让呢
    gzlock
        6
    gzlock  
       2018-12-28 11:35:27 +08:00 via Android
    只要公司还在就不是大问题
    有人出差途中公司倒了的
    imn1
        7
    imn1  
       2018-12-28 11:39:23 +08:00
    两个词没能理解具体含义:组长、自己完成的功能

    首先这些功能不是整个产品线吧?只是部分 class 或模块?
    其次,组长不是项目经理吧?被下属私改不知照是问题,但如果上面还有项目经理,是他下令重构的不知照(原创建人外出)很正常
    hhhsuan
        8
    hhhsuan  
       2018-12-28 12:00:32 +08:00   ❤️ 1
    我看了不爽的代码都是立刻动手重构,才不管是谁写的,老子没心情在那些垃圾代码上修修补补。
    bobuick
        9
    bobuick  
       2018-12-28 12:13:16 +08:00
    这么玻璃心。要是定个流程规定重构前都要征得同意,估计又要被骂傻逼玩意啥都流程。
    代码怎么样没点数么
    要不代码烂的不行了,要么需求变太多了不得不改了。
    wangxiaoaer
        10
    wangxiaoaer  
       2018-12-28 12:27:43 +08:00
    1 重构的代码跟你之前比起来有没有进步?

    2 代码不是你的个人资产,是公司的,有权限的开发人员都可以改“你的”代码,不要玻璃心。
    libook
        11
    libook  
       2018-12-28 12:31:22 +08:00   ❤️ 2
    别人没经过我的允许改我的代码,给我的感觉像是做销售别人抢了我的客户是一样的,这是职业道德的问题。

    不商量就改别人的代码的心理是什么样的呢?
    1. 我自认为我了解这个人做的业务,我觉得我可以改他的代码实现我的目的。(我这样试过,结果证明我对他的业务不够了解,修改完的代码造成了严重的问题,以后不问清楚再也不敢改了。)
    2. 我觉得这个人是 SB,我表现我的能力的时候到了。(抢饭碗?)
    3. 这个人联系不上,问题很紧急必须马上解决,没有任何其他人能解决这个问题,只能我来了,后果责任我来承担,一旦联系上这个人马上跟他说具体情况,以求理解。(个人能接受的合理理由。)

    我想说,一个团队首先的互相尊重,每个人都认为每个人都是团队不可缺少的一份子,每个人也都能参与到团队所有工作中,这才是合作关系的体现;团队内人与人之间如果不是合作关系,那么差不多就只能是竞争关系或没关系了。
    misaka19000
        12
    misaka19000  
       2018-12-28 12:39:15 +08:00 via Android   ❤️ 1
    要是我开心还来不及,谁重构,谁负责,出了问题谁背锅😀
    libook
        13
    libook  
       2018-12-28 12:40:06 +08:00   ❤️ 2
    不管出于什么原因,不告知就修改其实就是在否定原开发人员的存在意义,遇到这样的事情郁闷的人也通常是因为自己失去了存在感。代码质量差也得解决这个人的问题,要么提出意见商量并改正,要么除名,而不是只解决代码的问题,不然这个人的代码质量永远都是差的,永远都事后帮他解决质量问题显然得不偿失。团队成员的成长也是很重要的。
    dayoushen
        14
    dayoushen  
    OP
       2018-12-28 12:42:31 +08:00
    @imn1 产品线 B 没有产品经理,部门经理提出想法组长带着两个人干;程序是一个嵌入式 AI 板子上的 http 小后台,分成 3 个模块,被重构的是 http 服务。据了解部门经理没有重构的意思。1 月份这个产品线 B 估计要被放弃掉,人员会被抽离到另外一个产品线,所以在这个节骨眼上被重构也是让我很惊讶。
    pusidun
        15
    pusidun  
       2018-12-28 12:43:05 +08:00
    代码还分你的我的?
    在我电脑上就是我的 XD
    orangeade
        16
    orangeade  
       2018-12-28 12:45:12 +08:00 via Android
    我的项目被重构好几个了,还挺开心的
    imn1
        17
    imn1  
       2018-12-28 12:45:56 +08:00
    @dayoushen
    那就当下面的人在练习,宽容一下
    跟他交待一两句,大意是将来去别的公司高就,这样做会吃亏的
    dayoushen
        18
    dayoushen  
    OP
       2018-12-28 12:48:42 +08:00   ❤️ 2
    谢谢大家的关心和批评,我是从传统行业出来的,对代码的理解上是可读性胜过技术先进性,可能没被他们认可,不过至少代码在线上已近跑了 3-4 个月了,所以被重构了还是感觉有点失落,虽然这样也能少了一件操心的事情。
    不想那么多了,还是好好提高自己。
    k9982874
        19
    k9982874  
       2018-12-28 12:49:45 +08:00
    我会问一下原因,然后对比一下自己的代码,吸收对方的优点。
    myhot21
        20
    myhot21  
       2018-12-28 12:50:01 +08:00
    最喜欢别人重构我的代码,然后不再需要我维护那部分代码。
    dayoushen
        21
    dayoushen  
    OP
       2018-12-28 12:51:49 +08:00
    @imn1 谢谢,看得开。
    laike9m
        22
    laike9m  
       2018-12-28 13:05:14 +08:00 via Android
    惊了,重构代码居然不需要之前写的人 review。。。这种公司还是离职吧
    GDC
        23
    GDC  
       2018-12-28 13:16:07 +08:00 via iPhone
    @libook

    如果写得太垃圾 确实没有存在的意义,同事一场还撕破脸皮跟你说你写得太垃圾?多次被人重构自己心里没点数?如 3 楼说的,如果不是太垃圾,是不会一声不吭去重构的,这是缺一不可的条件。

    你说的那种尊重 沟通 告知,是建立在还认为你的代码由自己改改就能更好的基础上,这种情况没谁闲着还去动别人代码的。

    别扯什么团队每个人都缺一不可,不过都是个挨踢民工罢了,对公司来说更不会缺一不可,所以不要自欺欺人,讲什么职场道德,什么抢你客户,无论什么行业什么岗位,提升自己的能力水平才是王道
    lzhCoooder
        24
    lzhCoooder  
       2018-12-28 13:18:17 +08:00
    换了一个部门,上任领导被踢出开发队伍,新任领导让我把上任留下的所以代码重构...花了两个月,难免不让人多想为啥突然给他换岗位
    Maboroshii
        25
    Maboroshii  
       2018-12-28 13:24:49 +08:00 via Android
    我最近也重构了一份代码。没办法啊,让我在之前的上面改实在是下不去手。
    LewisW
        26
    LewisW  
       2018-12-28 13:28:45 +08:00 via iPhone
    @ssynhtn 一声不吭就重构?迟早被测试打死
    reus
        27
    reus  
       2018-12-28 13:34:25 +08:00   ❤️ 2
    @libook 你们写的代码都属于公司的代码,不存在什么“你的代码”
    LowBi
        28
    LowBi  
       2018-12-28 13:54:25 +08:00
    如果重构的代码比原来的好,那是支持的了,对于我这种菜鸡,多参考别人写代码的风格习惯及思维是最好不过了
    Macolor21
        29
    Macolor21  
       2018-12-28 13:54:29 +08:00
    想起我之前的代码
    if(xxxx) throw ....
    Macolor21
        30
    Macolor21  
       2018-12-28 13:54:45 +08:00
    想起我之前的代码
    if(xxxx) throw ....
    Macolor21
        31
    Macolor21  
       2018-12-28 13:56:48 +08:00
    想起我之前的代码 WTF,CTRL + ENTER 竟然是提交,不好意思,影响看帖体验了
    if(xxxx) throw ....
    if(yyyy) throw ....
    被改成
    if(xxxx) {
    if(yyyy) {
    ........N 个 if throw
    }
    }
    ..然后我就申请离职了。
    publicvoid
        32
    publicvoid  
       2018-12-28 14:36:40 +08:00
    代码轻易不要重构,除非你很懂这块的业务,不然 bug 无限多。。。
    kkkkkrua
        33
    kkkkkrua  
       2018-12-28 14:40:42 +08:00
    看重构的好不好吧,不好可以准备走了。
    ian19znj
        34
    ian19znj  
       2018-12-28 15:47:23 +08:00
    既然 review 和 test 都过了,也 check in 进去了,说明重构的没啥问题啊,就不要在意啦。
    话说你们公司是不是规模不大呀?要是大的公司,千百号开发,几百万的代码,每次重构还要逐个征得同意,不累死啊?
    至于以后出问题,那是重构跟审核的锅。
    amumu666
        35
    amumu666  
       2018-12-28 15:48:58 +08:00
    这是对你代码的否定,心里毫无波澜才是假的。
    也许出差找不到你人才让别的同事改这块业务,接盘的同事也是心里 mmp,谁愿意改别人的代码啊。
    jimrok
        36
    jimrok  
       2018-12-28 15:54:59 +08:00
    忍无可忍我才会重构某个别人的代码,通常我会指明代码有什么问题。如果我做这个事,估计这个人我不会再放在重要位置上了。
    specita
        37
    specita  
       2018-12-28 16:06:46 +08:00
    我一般是先告诉别人我的想法,看他会不会自觉去优化,不会的话,我还是会手痒优化的。。。
    Keyes
        38
    Keyes  
       2018-12-28 16:09:21 +08:00
    @jinhan13789991 +1,不过最近研发老大和大部门经理终于忍受不了我的碎碎念,把重构提上日程了,要坚持啊盆友
    Keyes
        39
    Keyes  
       2018-12-28 16:11:22 +08:00
    @Macolor21 hhhhh 所谓的“嵌套层次不够”
    signalas1
        40
    signalas1  
       2018-12-28 16:15:30 +08:00
    不要随意重构别人代码,特别是复杂度的部分。。虽然一般写业务搬砖没什么复杂度..
    jinhan13789991
        41
    jinhan13789991  
       2018-12-28 16:29:30 +08:00
    @Keyes #38 我已经从那家离职了,因为健身,比较准时下班,同事都涨薪了我没有~ 和领导提了下涨薪,还被劝退(就是那种说你表现不行,公司给你机会,你要好好表现,决口不提辞退),后面投简历找到更好的就跳槽了。
    zsen
        42
    zsen  
       2018-12-28 16:30:22 +08:00   ❤️ 1
    想起前公司,前端组长跟我吐槽:他的代码被后端组长给改了。
    后端同学说是“重构”,前端同学说是“改”。

    然后没多久,前端同学走了。
    babedoll
        43
    babedoll  
       2018-12-28 16:48:24 +08:00
    说实话直接重构别人代码跟不打招呼直接用别人东西一样,怎么说也要事先给你讲一下吧?
    看不起你的写的代码?有 bug 不好用也要说一声啊。。。看楼上才知道程序员大部分情商都很低。。

    楼主淡定,准备简历把
    Damon4V
        44
    Damon4V  
       2018-12-28 17:07:55 +08:00
    没通知下是过分了,准备简历吧,但近期经济形势不好,找到后再辞职;
    fkdog
        45
    fkdog  
       2018-12-28 17:14:27 +08:00   ❤️ 1
    程序员自我感觉良好系列之“不是我写的代码都是屎”。

    然后自己 xjb 重构一通发现自己的实现并没有比原来好到哪里去。
    yiqiao
        46
    yiqiao  
       2018-12-28 17:29:09 +08:00
    @Macolor21 回归本心,面条式代码嵌套走起。
    xinyewdz
        47
    xinyewdz  
       2018-12-28 17:54:59 +08:00
    最近接手了几个项目,原来的人调到别的项目上了。我把接手的项目,都重构了一遍。
    jzmws
        48
    jzmws  
       2018-12-28 18:01:28 +08:00   ❤️ 1
    @Macolor21 if 后面都是要带大括号的,即使只有一行的时候也是要带的,这样方便后期的维护.
    if 里面套 if 这种就 .
    SimbaPeng
        49
    SimbaPeng  
       2018-12-28 18:05:27 +08:00   ❤️ 1
    假如你是做销售的,你的客户被人抢了,你还乐呵呵的说“客户都是公司的,不存在你的客户”?

    楼上都是这种孤儿逻辑?
    Macolor21
        50
    Macolor21  
       2018-12-28 18:08:25 +08:00 via Android
    @jzmws
    打字的时候省略了,平时我的习惯不省略大括号
    canxden
        51
    canxden  
       2018-12-28 18:10:00 +08:00
    刚重构代码. 然后看到这个帖子, 看到之前的文件创建者是 boss....感觉....
    sm0king
        52
    sm0king  
       2018-12-28 18:10:38 +08:00
    哦. . .
    前两天,遇到类似情况,同事把我代码改了,而且还改出 bug 了。
    然后给我提了个 bug 过来. . .
    后来我改了,只备注了一下原因,然后被怼,很长时间不搭理我。
    这几天,他很多需求做不完了,而,我的早做完了,接下来要帮他做需求。
    嗯,能咋滴,还不是一样做?
    gouchaoer2
        53
    gouchaoer2  
       2018-12-28 18:15:24 +08:00
    今日最佳
    nimabibi
        54
    nimabibi  
       2018-12-28 18:20:28 +08:00 via Android
    改完坑不用自己填就行了
    victor
        55
    victor  
       2018-12-28 18:34:10 +08:00
    @jinhan13789991 咋了兄弟,发完帖被领导发现了?赶紧补救一下
    windfarer
        56
    windfarer  
       2018-12-28 18:34:54 +08:00 via Android
    jinhan13789991
        57
    jinhan13789991  
       2018-12-28 18:38:12 +08:00
    @victor 离职快半年了都~ 后面又被俩公司坑,半个月前入职了现在这个公司。新公司很好很 nice,曾经怀疑是个人问题,为啥俩公司自己都不适应,后面才知道那俩公司实在是坑!
    learnshare
        58
    learnshare  
       2018-12-28 18:38:29 +08:00
    能重构还是不错的,多数代码通常没有这个机会
    另外重构比推翻重来好,项目越大越没人敢动

    可以深入了解一下为何重构,以及重构之后比之前好在哪里
    最难受的不是被重构,而是全部代码代码被统一格式化
    iugo
        59
    iugo  
       2018-12-28 18:45:11 +08:00
    看看别人重构过的代码, 能否从中学到什么. 如果有学到, 就挺好. 如果没有学到, 也能理解对方的思路, 对以后沟通有好处.
    sampeng
        60
    sampeng  
       2018-12-28 18:48:02 +08:00
    巴不得被重构。一来跳出来一个人背锅,以前里面埋的任何雷都和你没啥关系。另一来,等于多一次机会看看别人的思路。写代码不能固步自封
    dengtongcai
        61
    dengtongcai  
       2018-12-28 19:22:42 +08:00 via iPhone
    重构的好就学习,不好就别人背锅呗…
    xuanbg
        62
    xuanbg  
       2018-12-28 20:59:23 +08:00
    楼主应该是感觉自己被否定了,所以不开心。说实话,被否定没什么,但你要知道为什么被否定。否则可能会接二连三地被否定,就有点尴尬了。总之,多经历一些挫折不是坏事,得到成长就是赚到。
    skypyb
        63
    skypyb  
       2018-12-28 21:22:08 +08:00
    我就偶尔会重构同事的代码啊...
    有的一个方法上百行,一个类上千行。其中无数个 if 嵌套,可读性吊差。我没事做的时候给提取一下拆分一下用设计模式重写一下咋了。
    一问为啥这么写就说写逻辑的时候写嗨了,反正跑的挺 6 没事。也是不知道该说什么:)
    qoras
        64
    qoras  
       2018-12-28 22:55:03 +08:00
    重构都有一定风险的, 指不定出什么坑, 没有收益还是不要做了.
    有这功夫还不如看看书提升自己
    log4geek
        65
    log4geek  
       2018-12-28 23:37:45 +08:00
    组长重构你的代码,还不告诉你,说明你写的真的好烂。
    正常来说,组长发现你的代码有问题的时候,会先给你指出来,让你自己去重构的。
    zhouyut001
        66
    zhouyut001  
       2018-12-29 05:59:16 +08:00
    好说,谁重构,谁背锅
    wleexi
        67
    wleexi  
       2018-12-29 09:24:43 +08:00
    借楼问一句,
    重构的后的的代码 让测试同学测试 他们总是不高兴 ,认为没事找事做。。这要怎么办
    hasbug
        68
    hasbug  
       2018-12-29 10:35:39 +08:00
    他重构,还让你填坑,那就说不过去了。
    connection
        69
    connection  
       2018-12-29 14:27:17 +08:00
    如果是逻辑上的重构,代码优化上的重构,正当的应该是一起探讨。
    但是如果只是代码风格的重构,把别人的代码风格改变成自己的
    这样子我觉得是无用且不尊重的
    xfriday
        70
    xfriday  
       2018-12-29 17:21:50 +08:00   ❤️ 1
    @libook 你真玻璃心,代码易于维护谁高兴重构,你以为重构代码的人还能发奖金?
    zgl263885
        71
    zgl263885  
       2018-12-29 18:18:08 +08:00 via iPhone
    组长实在是看不下去你的代码了。我也重构过小弟的代码,刚开始我会跟他讲这个应该怎么样,那个应该怎么样,后来实在不好意思再说他,只好自己默默给重写一遍。代码审查时候我们也很无奈的,管的话小年轻心里不痛快,不管的话屎一样的代码实在吃不下饭!虽然我算不上重度代码洁癖,但也不是啥都能看的下去啊!
    dayoushen
        72
    dayoushen  
    OP
       2018-12-29 18:59:51 +08:00
    最后谢谢大家的关心
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4176 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 04:12 · PVG 12:12 · LAX 21:12 · JFK 00:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.