如何委婉的和新同事说一些代码上的优化建议 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ShadowFiend
V2EX    职场话题

如何委婉的和新同事说一些代码上的优化建议

  •  1
     
  •   ShadowFiend 2016 年 1 月 6 日 4212 次点击
    这是一个创建于 3729 天前的主题,其中的信息可能已经有所发展或是发生改变。
    公司有 CodeView 功能, 看到新同事的代码逻辑没有什么问题,就是有几点小问题

    1. 没有遵循 PEP8 代码风格
    2. 有些功能可能用别的方法会更好的解决,避免了过多的代码量和逻辑判断


    遵循 PEP8 这个还好弄,关于第 2 点应该如何说呢?
    22 条回复    2016-01-06 20:51:12 +08:00
    taozle
        1
    taozle  
       2016 年 1 月 6 日
    直接说啊
    asj
        2
    asj  
       2016 年 1 月 6 日   3
    code review 应该关注代码风格统一和知识分享,在这个场合少提议重新设计。应该关注代码做了什么,而不是谁写了这段代码。否则这种建议很容易被写代码的人视作对他的批评,最终演变成互撕,或者消极参与。
    对于优化的建议,不妨换个思路。不是建议“他的”代码应该怎样,而是分享“我觉得”更好的设计知识。下次 reviewer 或者结对的时候给他 show 你的方法。如果真的有先进性,他自然会借鉴。
    bobuick
        3
    bobuick  
       2016 年 1 月 6 日
    lz 我也有这样的问题, 可是我的问题是如何给老同事说, 日了狗了, 用的方式, 写的代码那么难看就没想到去改一下
    jiongxiaobu
        4
    jiongxiaobu  
       2016 年 1 月 6 日 via Android
    直接说啊
    k9982874
        5
    k9982874  
       2016 年 1 月 6 日
    你是 review 的负责人么?监督代码优化是你的职责么?
    如果是,不用多想这是你的工作。如果不是给自己找点事干吧,太闲了。
    GNiux
        6
    GNiux  
       2016 年 1 月 6 日 via iPhone
    2 楼正点。赞
    clino
        7
    clino  
       2016 年 1 月 6 日 via Android
    不明白为什么要委婉 工程师不是应该直接了当的讨论技术问题吗
    GNiux
        8
    GNiux  
       2016 年 1 月 6 日 via iPhone
    @clino 他想提风格、效率问题。。
    luoway
        9
    luoway  
       2016 年 1 月 6 日
    如果对方用文字记下来了,说明他采纳了,下次发现同样的问题直接说就好。
    如果没有用文字记下来,那就说明自己还没有说服对方,下次发现同样的问题还得重试。

    推而广之,当面说是头脑风暴,文字交流才是技术分享。
    a0000
        10
    a0000  
       2016 年 1 月 6 日 via Android
    直接说比较好
    clino
        11
    clino  
       2016 年 1 月 6 日
    @GNiux 我们做 code review 的时候什么都可以说啊 包括风格 效率这些
    当然不是每个建议都会被采纳 不过明显好的做法一般都会采用的
    zjuster
        12
    zjuster  
       2016 年 1 月 6 日
    直接说 ok 的。但是千万不要用装逼的语气就好啦。这种沟通需要技巧。

    @clino 说服别人很难。
    raincious
        13
    raincious  
       2016 年 1 月 6 日
    轻轻的走过去,拍他的肩膀,温柔的说:

    小 X ,:
    1 、如果你以后写代码遵守 PEP8 规则的话,我就请你吃烧烤。
    2 、如果你以后多做做设计而不是用 if 解决问题的话,我就请你吃烧烤。
    GNiux
        14
    GNiux  
       2016 年 1 月 6 日 via iPhone
    @clino 不过非技术问题就在于你认为“好”的,不是他认为的呢

    无解;)
    Potter
        15
    Potter  
       2016 年 1 月 6 日
    @raincious 哈哈,烧烤爱好者,你好
    ShadowFiend
        16
    ShadowFiend  
    OP
       2016 年 1 月 6 日
    @clino 因为有一次在 review 时写了一些建议,但是在后面的时候对方没有去修改,所以不知道是否再去写一些建议

    例子: django model
    date_created = models.DateTimeField()
    我建议可以这样
    date_created = models.DateTimeField(auto_now_add=True)
    说明了下,发现对方没有采纳
    ShadowFiend
        17
    ShadowFiend  
    OP
       2016 年 1 月 6 日
    @bobuick 哈哈 我是想更好的同事相处,所以了解下如何最好
    ShadowFiend
        18
    ShadowFiend  
    OP
       2016 年 1 月 6 日
    @k9982874 算是负责人,那如果功能上没有问题呢,这时候的建议是否有更好的表达方式
    shibo501c
        19
    shibo501c  
       2016 年 1 月 6 日
    用 lint
    clino
        20
    clino  
       2016 年 1 月 6 日
    @ShadowFiend code review 除了写下来,最好当面或者电话沟通说一遍
    我们用 gerrit,一般来说 patch 都是别人看过没问题以后 merge 的,有时候会有改过很多次如 10 次以上才 merge 的情况
    paw
        21
    paw  
       2016 年 1 月 6 日
    制定公司代码规范。。。
    Lpl
        22
    Lpl  
       2016 年 1 月 6 日 via Android
    要是我肯定很愿意让你说啊。。。有 code review 都是好公司啊,我代码写的烂自己知道但是不知道咋改,也没人告诉我。。要是我,你说多了我还请你吃饭
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3229 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 13:46 PVG 21:46 LAX 06:46 JFK 09:46
    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