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 · 8947 次点击
    这是一个创建于 2408 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家觉得有必要吗

    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 在一个阈值之上
    觉得很有必要
    li24361
        10
    li24361  
       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
    有必要,主要审两方面东西:
    局部的架构设计
    代码审查,包括命名风格之类的检查
    boywang004
        66
    boywang004  
       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   ·   实用小工具   ·   2730 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 15:26 · PVG 23:26 · LAX 07:26 · JFK 10:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.