请问大家的公司有代码 review 吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
holy_sin
V2EX    git

请问大家的公司有代码 review 吗

  •  
  •   holy_sin 2018-04-19 22:15:52 +08:00 9473 次点击
    这是一个创建于 2730 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家觉得有必要吗

    71 条回复    2018-04-20 16:28:38 +08:00
    lisonfan
        1
    lisonfan  
       2018-04-19 22:28:47 +08:00
    1、没有
    2、有必要
    clino
        2
    clino  
       2018-04-19 22:29:54 +08:00   2
    有必要
    原则上每笔提交都要经过至少另外一名同事的 review
    kikyous
        3
    kikyous  
       2018-04-19 22:35:15 +08:00 via Android
    我们公司用 arc,还有其他工具可以用吗?
    clino
        4
    clino  
       2018-04-19 22:39:34 +08:00
    我们用 google 的那个 gerrit
    smilingsun
        5
    smilingsun  
       2018-04-19 22:42:33 +08:00 via Android
    @clino 我们也用 gerrit,你们 review implementation 还是 unit test
    seaswalker
        6
    seaswalker  
       2018-04-19 22:55:25 +08:00
    lgh
        7
    lgh  
       2018-04-19 23:16:05 +08:00 via iPhone
    @clino
    @smilingsun
    请教二位:你们在 Gerrit 里面新建项目的时候,是怎么从已有仓库复制的?手工 git clone --bare xxx 吗?我现在就这样搞,但感觉很不方便。
    est
        8
    est  
       2018-04-19 23:16:12 +08:00
    有必要。gitlab 使用中。
    Perry
        9
    Perry  
       2018-04-19 23:19:26 +08:00
    用的 Bitbucket code review,需要 2 个以上同事批准,有些项目还要确保 Test Coverage 在一个阈值之上
    觉得很有必要
    north521
        10
    north521  
       2018-04-19 23:25:23 +08:00
    没有
    有必要,对提升自己的代码水平和减少公司项目的坑很有帮助
    zpf124
        11
    zpf124  
       2018-04-19 23:33:34 +08:00
    没有,
    有必要

    另外我们连单元测试也不写几个...
    tinycold
        12
    tinycold  
       2018-04-19 23:40:19 +08:00 via Android   1
    我们结对编程。 没开玩笑
    jadec0der
        13
    jadec0der  
       2018-04-19 23:42:00 +08:00
    有,有必要但是付出的代价太大了
    huluhulu
        14
    huluhulu  
       2018-04-19 23:42:30 +08:00 via iPhone
    非常有必要,有,使用 gerrit,keyuser 有权限+2,且触发自动编译和自动化 case,都过了才会真正合到 trunk
    kingcos
        15
    kingcos  
       2018-04-19 23:46:15 +08:00 via iPhone
    有,2 个看过 Review 过才可以,而且最近正在配置 CI …
    xiaojie668329
        16
    xiaojie668329  
       2018-04-20 00:13:15 +08:00 via iPhone
    有必要。准备在例会时提出并推动。
    huntzhan
        17
    huntzhan  
       2018-04-20 00:19:13 +08:00
    Required, 必须有人 review 才能 check in
    Pastsong
        18
    Pastsong  
       2018-04-20 00:20:59 +08:00

    不强制

    是 Proof of Work 的一种方法
    PHPer233
        19
    PHPer233  
       2018-04-20 00:21:10 +08:00 via iPhone
    管你怎么写,写出来能跑就行。完成任务,交差回家~
    Guaidaodl
        20
    Guaidaodl  
       2018-04-20 00:24:10 +08:00
    有啊. 绝对有必要.

    而且对新人来说有人 Review 你成长才快.
    msg7086
        21
    msg7086  
       2018-04-20 01:10:11 +08:00
    老代码没有,屎一样的代码满天飞。
    新代码所有的 commit 都要 peer review。
    20015jjw
        22
    20015jjw  
       2018-04-20 03:40:09 +08:00 via Android
    必须得有啊
    jerryshao
        23
    jerryshao  
       2018-04-20 03:46:39 +08:00
    我就来看看有没有用 Reviewboard 的
    randyzhao
        24
    randyzhao  
       2018-04-20 04:00:57 +08:00
    @jerryshao 握手 哈哈
    randyzhao
        25
    randyzhao  
       2018-04-20 04:05:52 +08:00
    纯人工的 Review 优点很明显,同时也有些瑕疵。
    比如:你平时玩的好的同事,找你帮他 “ Review ” 一下。

    如果是要避免这样的漏洞,那么可以设置特定的人 (如: Team Leader) 一定要 Review 过才算行。
    不过这样的话,Team Leader 其实也很累。
    所以团队里一定得都是志同道合的人,才最好。
    fanqianger
        26
    fanqianger  
       2018-04-20 04:24:39 +08:00
    有 review
    感觉没什么用
    nicevar
        27
    nicevar  
       2018-04-20 07:28:04 +08:00 via Android
    有,相当有必要,有时候人会犯一些很蠢的错误,扫几眼就能发现问题,如果不 review 等部署了才发现浪费大家时间
    eccstartup
        28
    eccstartup  
       2018-04-20 07:35:03 +08:00 via iPhone
    不 review 别人怎么用你家产品啊
    chiu
        29
    chiu  
       2018-04-20 07:47:04 +08:00 via Android
    有专门一个部门在监督 review 的……每次 review 还要记录好多东西
    zhq527725
        30
    zhq527725  
       2018-04-20 08:16:12 +08:00
    有。
    肥肠有必要,俺们公司没有一个测试人员,代码质量全靠 code review 和自动化测试。
    patx
        31
    patx  
       2018-04-20 08:33:03 +08:00

    l00t
        32
    l00t  
       2018-04-20 08:37:35 +08:00
    1.没有
    2.有必要

    其实我喜欢结对编程。每次结对编程的时候感觉效率可高了。
    EricFuture
        33
    EricFuture  
       2018-04-20 08:45:07 +08:00
    没有,非常有必要
    xiangyuecn
        34
    xiangyuecn  
       2018-04-20 08:48:06 +08:00
    好奇你们会不会在自己写的代码里面埋后门,怎样逃过别人 review
    crayygy
        35
    crayygy  
       2018-04-20 08:58:19 +08:00 via Android
    有,而且必须两个人同意以后才能提交,而且不存在什么关系好你帮我点一下这种,出了问题大家脸上都不好看,关系好就更帮你认真看了。
    hasbug
        36
    hasbug  
       2018-04-20 09:00:11 +08:00
    不存在的
    clino
        37
    clino  
       2018-04-20 09:27:32 +08:00
    @lgh #7 有很多要导入吗?我们一开始一直用这个,所以没什么导入的问题.

    @smilingsun #5 review 实现吧,unittest 非常少
    Acheron
        38
    Acheron  
       2018-04-20 09:28:20 +08:00
    1.没有
    2.没必要

    所有偏离代码本质的东西都是无必要的,比如 review,多余的注释,站立会,代码的本质就是自由,这些边边角角限制了自由,但没必要不一定不做,自己 review 自己的代码就可以了。
    ifsoar0712
        39
    ifsoar0712  
       2018-04-20 09:33:09 +08:00
    minbaby
        40
    minbaby  
       2018-04-20 09:51:33 +08:00
    知道是一回事,做到是另一回事。

    想要在项目中,加入 review 这个选项,第一是不能影响产品正常进度(不然老板啊,产品啊,拎着刀就过来了),第二是部门负责人能意识到 Review 的重要性和必要性(发生两次重大事故就“好了”),第三团队成员有这个意思(不然就沦为了“形式“)
    EanCuznaivy
        41
    EanCuznaivy  
       2018-04-20 09:54:37 +08:00
    直接 review PR,然后老板亲自 merge ……
    很有必要。
    vakara
        42
    vakara  
       2018-04-20 10:10:51 +08:00
    有,我们组内强制,Review 很仔细。
    公司使用 GitHub。
    longxboy
        43
    longxboy  
       2018-04-20 10:16:35 +08:00
    有的,强制 review 加各种静态检查编译检查
    tonghuashuai
        44
    tonghuashuai  
       2018-04-20 10:21:12 +08:00

    有必要
    强制至少一位同事 review 后才可以 merge
    lsmgeb89
        45
    lsmgeb89  
       2018-04-20 10:35:01 +08:00
    有必要啊,没有 review 的公司或组就没必要做了。
    ioioioioioioi
        46
    ioioioioioioi  
       2018-04-20 10:43:12 +08:00
    有必要的,不然容易有 bug。
    yuxiaofei93
        47
    yuxiaofei93  
       2018-04-20 10:53:59 +08:00 via iPhone
    公司里有代码审查,并且出事故代码审查人受同样处罚。
    代码审查有必要,至少能避免一眼就看出来的低级失误
    unidentifiedme
        48
    unidentifiedme  
       2018-04-20 10:58:30 +08:00
    有,基本上所有项目强制 code review
    很有必要。
    所有项目都接 Coverity
    有的项目还有 unit test coverage 的要求
    cccRaim
        49
    cccRaim  
       2018-04-20 11:03:00 +08:00
    有,
    三个人 review 才行
    shaobin0604
        50
    shaobin0604  
       2018-04-20 11:15:27 +08:00
    经历过几家公司,都有 code review,工具
    - gerrit
    - reviewboard
    - gitlab merge request
    coderluan
        51
    coderluan  
       2018-04-20 11:35:33 +08:00
    公司没有,各个项目自己要求,肯定是有必要的,但是如果一个项目是时间紧张收益低的一锤子买卖,你懂的。
    bluefalconjun
        52
    bluefalconjun  
       2018-04-20 11:37:38 +08:00
    有必要.
    gerrit 提交:
    脚本会检查 1.代码格式和 commit 关键字; 2.编译;
    然后+1;
    另外需要其他队员 review+1;
    最后 merge 权限的人才能 merge 进 master.
    jasonchen168
        53
    jasonchen168  
       2018-04-20 11:37:39 +08:00
    小公司业务代码都写不完。。。
    ihaveadrame
        54
    ihaveadrame  
       2018-04-20 11:46:30 +08:00
    不要问题了 选 C。

    我们公司对这块要求比较严格,基本是 pylint flake8 eslint 代码规范检测 tox 单元测试 还有 代码覆盖率测试。 每个 PR 都至少要组长 review 一下。
    netlxl
        55
    netlxl  
       2018-04-20 12:03:50 +08:00
    @Acheron 在最终代码中“偏离代码本质的东西”是没必要的,但成为最终代码的过程中是绝对有必要的。你这是典型的唯结果论。
    kaedea
        56
    kaedea  
       2018-04-20 12:18:30 +08:00
    1. 本来十几人的团队是互相 rv 的。
    2. 后来同一个项目多了几个这种规模的团队。
    3. 感到他们的代码风格与自己的格格不入后,慢慢放弃了 rv,因为就算提修改建议人家也懒得改。
    4. 现在已经没有定期看别人提交了什么代码的习惯了。
    Deeer
        57
    Deeer  
       2018-04-20 12:18:53 +08:00 via iPhone
    我遇到的 review 分为两种、一种是成员代码合并 dev 上进行 review、第二种是从 dev 合并到 test 上的 review、一种是确认代码合并时是否存问题、另一种是合并之后进行检查、不知道你说的是哪种 review ?
    kaedea
        58
    kaedea  
       2018-04-20 12:20:48 +08:00
    @kaedea
    补充一下,现在有些人甚至在提交代码前都不 rv 自己提交了啥… 而且还不少这样的人
    xrlin
        59
    xrlin  
       2018-04-20 12:21:59 +08:00 via iPhone
    看了大家的回答,我要争取去一个注重代码质量的团队,我很想执行 review ci,但是项目就只有我一个人。
    Ranler
        60
    Ranler  
       2018-04-20 12:29:01 +08:00
    有必要

    同 Gerrit,强制 2 个人 Review,强制单元测试 PASS 才能合入
    projectzoo
        61
    projectzoo  
       2018-04-20 12:35:03 +08:00

    有必要
    holy_sin
        62
    holy_sin  
    OP
       2018-04-20 13:51:02 +08:00
    代码风格不统一 貌似是推行 review 机制的一个阻碍
    codeyung
        63
    codeyung  
       2018-04-20 14:59:26 +08:00
    当然有了 //
    sgissb1
        64
    sgissb1  
       2018-04-20 15:15:09 +08:00
    没有 review,也没有必要。但是作为学习有必要看别人的代码。
    review 很费时,搞不好就成茶话会或者秀技大会了,同时可能代码写好写坏有关系吗?会因为写的好点老板多发点钱?人家现在只看结果,只关心快速抢占市场等等。
    wweir
        65
    wweir  
       2018-04-20 15:41:02 +08:00 via Android
    有必要,主要审两方面东西:
    局部的架构设计
    代码审查,包括命名风格之类的检查
    vela
        66
    vela  
       2018-04-20 15:46:26 +08:00
    有。
    有必要。
    jedihy
        67
    jedihy  
       2018-04-20 15:52:54 +08:00 via iPhone
    不 review 就能 checkin 这不是做宝搞吗
    pwf
        68
    pwf  
       2018-04-20 15:56:50 +08:00 via Android
    用 crucible 的 cr,还有组内投屏...
    lizz666
        69
    lizz666  
       2018-04-20 16:03:49 +08:00
    老板的意思是最短的时间用最快的方法写出来上线给客户拿钱,等模板开发好,谁还管你代码质量好不好,全是复制粘贴。
    我要学技术。。。
    yuriko
        70
    yuriko  
       2018-04-20 16:28:32 +08:00
    前东家有
    用 gerrit
    虽然有必要,但是也不能过分
    比如合入到 dev 的 master 分支需要三个人加分,感受下……
    asj
        71
    asj  
       2018-04-20 16:28:38 +08:00
    @Acheron 人,以及人会犯错误的本性也是偏离代码本质的。在人工智能还没发展到代码自己进化那天前,只能暂时依赖不完美的程序员来写代码。
    不论 review,注释,unit test,都是为了补救不完美的程序员,避免他们偏离代码本质。
    当然如果你认为自己就代表着最纯粹的本质,那当我没说。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2889 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 13:44 PVG 21:44 LAX 06:44 JFK 09:44
    Do have faith in what you're doing.
    ubao 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