同事的代码写得不太规范,读起来有点痛苦,如何委婉地向同事表达自己的想法? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
batman2010
V2EX    问与答

同事的代码写得不太规范,读起来有点痛苦,如何委婉地向同事表达自己的想法?

  •   batman2010 2015-08-28 11:02:23 +08:00 via Android 5493 次点击
    这是一个创建于 3746 天前的主题,其中的信息可能已经有所发展或是发生改变。
    入职新公司快一周了,一直在读同事的代码,但是同事的代码写得不规范,驼峰命名、行内空格这些都不常见到。想和同事说说,又不想伤了和气,毕竟大家刚认识,相处也还不错。 LZ 不太会说话,所以请教下各位 v 友,对于 LZ 这种情况,如何表达自己的想法为好?
    35 条回复    2015-08-29 06:01:47 +08:00
    konakona
        1
    konakona  
       2015-08-28 11:04:24 +08:00   2
    最好不要说话.
    banri
        2
    banri  
       2015-08-28 11:08:24 +08:00   1
    说呗,互联网从业者大多都比较好说话,大家都是追求技术的,藏着掖着多不好
    我刚来就觉得哪哪哪不太好,开会直接说,现在大家照样打成一片,有的也在慢慢改进

    怕啥
    harry890829
        3
    harry890829  
       2015-08-28 11:11:22 +08:00
    新招了个同事,命名一点规范都没有,教都教不会,头一个月被我训了好几次
    sinxccc
        4
    sinxccc  
       2015-08-28 11:18:16 +08:00   1
    你们项目组有编码规范么?没有的话跟你们主管提…
    10iii
        5
    10iii  
       2015-08-28 11:23:27 +08:00
    LZ. 你想和同事说是要达到什么效果呢?

    你是希望让他去重写现有代码么?重写需要多少时间呢?他会乐意么?你为他多付出的时间埋单么?

    或者你是希望作为善意的建议,提醒他从现在开始改变编程风格,多注意编程规范么?那你要考虑你有没有资格给同事建议,你们关系很近么?你资历比他高么?你负责审核他的工作么?
    batman2010
        6
    batman2010  
    OP
       2015-08-28 11:30:30 +08:00 via Android
    @harry890829 我是新入职的,不能训人家啊,况且相处得还不错。
    god
        7
    god  
       2015-08-28 11:37:51 +08:00 via iPad   1
    在注释里面卖萌并严厉的斥责你同事的行为的同时辅以纠正
    batman2010
        8
    batman2010  
    OP
       2015-08-28 11:46:09 +08:00 via Android
    @10iii 我的目的是想让同事的代码可读性更好一些,这样,将来和同事一起维护这份代码会容易很多。我不能为他付出的时间买单,更没有资格建议人家,但对于我来说,维护这份代码的成本实在有点高。
    ljbha007
        9
    ljbha007  
       2015-08-28 11:47:48 +08:00 via Android
    直说 但是不要用高人一等的语气说
    ljbha007
        10
    ljbha007  
       2015-08-28 11:49:19 +08:00 via Android
    比如:“这个命名有点难读懂 我帮你改一下行不?以后合作会容易很多”
    fwrq41251
        11
    fwrq41251  
       2015-08-28 12:02:46 +08:00   1
    跟 tech leader 提代码规范的问题,别指明哪个同事不规范,也别直接跟那个同事说
    batman2010
        12
    batman2010  
    OP
       2015-08-28 12:05:21 +08:00 via Android
    @ljbha007 如果改起来的话,就要改好多了。不仅仅是命名,代码结构也有很多不合理之处。
    mhycy
        13
    mhycy  
       2015-08-28 12:16:43 +08:00   1
    这事本应该向领导提出,就怕领导不把这事当成问题不去解决。。。
    alore
        14
    alore  
       2015-08-28 12:17:59 +08:00   1
    比如:“这个命名有点难读懂 你帮我看看?”多问几次,懂得自然就懂,不懂的你直说人家也未必懂.
    blacklee
        15
    blacklee  
       2015-08-28 12:19:12 +08:00
    不用说
    因为他读你的代码页是一样的感受
    batman2010
        16
    batman2010  
    OP
       2015-08-28 12:32:37 +08:00 via Android
    @blacklee 大家都不说的结果就是大家都痛苦着。
    Mrun
        17
    Mrun  
       2015-08-28 12:34:37 +08:00
    放宽心,程序员读他人的代码都是一种折磨
    blacklee
        18
    blacklee  
       2015-08-28 12:35:05 +08:00
    @batman2010 这个问题随着一个人写的代码越来越多水平越来越好才能解决,别人说的话,双方都会觉得是双方的习惯不同导致的
    bk201
        19
    bk201  
       2015-08-28 12:41:11 +08:00   1
    等你和他混熟了再说吧,不混熟你说的话人家根本不会当你回事。或者你请人家吃顿饭,然后谈谈你想法,说明是为了你们 2 个将来维护起来更轻松。
    zerh925
        20
    zerh925  
       2015-08-28 12:45:01 +08:00 via iPhone   1
    这些话好好说就行了呗,为什么 it 从业者总要觉得自己真的交流困难一样?

    这次采取什么方式,看别人怎么反应,你才能知道哪种处理方式好,哪种不好,锻炼出来了才是自己做人的方式。

    吸取别人意见是可以的,但是最后做决定的还是你自己。
    做自己,而不是做大多数。
    FrankFang128 div class="fr">     21
    FrankFang128  
       2015-08-28 13:00:58 +08:00   1
    1. 只重构你当前项目的代码,只重构交给你维护的代码
    2. 没有「用一个星期来重构」这种事情,你必须「每时每刻都在重构」
    3. 没有单元测试就不要乱重构。
    4. 改代码风格不叫重构!
    kneep
        22
    kneep  
       2015-08-28 13:03:11 +08:00 via iPhone
    应该要被 review 的人拒掉
    muzuiget
        23
    muzuiget  
       2015-08-28 13:20:15 +08:00
    稳定压倒一切啊懂不懂。
    Nausicaa
        24
    Nausicaa  
       2015-08-28 14:08:29 +08:00
    除非很熟,否则别找不自在
    shenqi
        25
    shenqi  
       2015-08-28 15:42:17 +08:00
    弄个 mr ,合上去就行。
    ys0290
        26
    ys0290  
       2015-08-28 15:50:18 +08:00 via iPhone
    辞职
    batman2010
        27
    batman2010  
    OP
       2015-08-28 16:02:50 +08:00
    @shenqi 请问 mr 是什么啊?
    hpeng
        28
    hpeng  
       2015-08-28 16:07:40 +08:00
    别说,代码都是小事,我也是刚入职,我就不说我们开发都在主干上,今天这周内网构建整天出问题,不想说话了。
    caserest
        29
    caserest  
       2015-08-28 16:09:11 +08:00
    直接说啊 看到这个我突然想到我上一个公司有人用用的变量名字是$woaibeijingtiananmen
    batman2010
        30
    batman2010  
    OP
       2015-08-28 16:11:22 +08:00
    @hpeng 是啊,明明知道问题所在,但说也不是,不说也不是,这种感觉很是累心。
    batman2010
        31
    batman2010  
    OP
       2015-08-28 16:33:58 +08:00
    @caserest 我是新入职的,技术也不是特别强那种,说话没有分量啊,直接说容易让别人有想法。
    osborn
        32
    osborn  
       2015-08-28 16:41:41 +08:00   1
    评价别人代码,除非有碾压别人的实力,否则,要非常非常非常委婉。
    frozen2013
        33
    frozen2013  
       2015-08-28 18:53:30 +08:00   1
    建议你不要直接和当事人说。

    如果你指得不规范仅仅是没有“驼峰命名、行内空格”,作为一个新人直接说出来,资历比你深同事十有八九会认为你小题大做出风头,不一定理会你。
    如果你强迫症忍不住,要么向组长提代码规范的重要性,要么在团队会议上自告奋勇自己动手改。

    做技术都很实在,但自尊心不一定低。
    young
        34
    young  
       2015-08-28 19:12:33 +08:00
    都很随意怎么办, 复制粘贴, 改个参数...
    cxbig
        35
    cxbig  
       2015-08-29 06:01:47 +08:00   1
    这个属于 TL 领导力问题,团队推行一个代码标准,严格执行。
    比方说我们团队的 PHP 代码使用 PSR-*规范 http://www.php-fig.org/
    代码提交汇总前会经过同行代码评审,不通过的打回改好再合并。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     825 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 20:24 PVG 04:24 LAX 12:24 JFK 15:24
    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