设计模式之美
王争
前 Google 工程师,《数据结构与算法之美》专栏作者
123426 人已学习
新⼈⾸单¥98
登录后,你可以任选6讲全文学习
课程目录
已完结/共 113 讲
设计模式与范式:行为型 (18讲)
设计模式之美
15
15
1.0x
00:00/00:00
登录|注册

加餐三 | 聊一聊Google是如何做Code Review的

996文化
缺少经验的人来带
争议多的CL
复杂的CL
对于新手的CL
不提倡太大的CL
一天的时间
靠工程师自身的经验来Review
没有统一的Check list
Readability评审委员会
Owner和Readability的同事Approve
从Google工程师带领过的团队对Code Review认可
从Google跳槽出来的工程师热衷于传播Code Review
一线互联网公司熏陶
大公司工程师技术能力强
时间和建议
编码规范
Change List (CL)
缺乏经验和感受
缺少技术文化传承
Google是如何进行Code Review的?
为什么国内企业不重视Code Review?
Google Code Review

该思维导图由 AI 生成,仅供参考

100 篇的正文已经全部结束了,估计你学得也有点累了吧?时隔这么久,正文终于结束了,从今天起,我们继续加餐内容。
跟正文内容相比,加餐内容我希望尽量轻松有趣,帮你拓展知识面,主要是课后的一些小分享,有的会以讲故事为主,但我也希望它能给你带来收获。如果能够引发你的思考和共鸣那就更好了。所以,我也希望你在留言区,多说说自己的感受和看法,多多与我互动。
话不多说,让我们正式开始今天加餐的内容吧!

为什么国内企业不重视 Code Review?

在专栏第 80 讲中,我列举了 Code Review 的重要性,在项目中执行 Code Review 会带来哪些好处,以及如何克服一些常见的难题,在项目中启动 Code Review 等等。今天,我们想再继续这个话题,和你聊一下 Code Review。不过,我刚才也说了,今天的内容会相对轻松一些,我会主要给你讲讲我在 Google 做 Code Review 的一些经验和心得。
我们都知道,Google 在 Code Review 方面做得非常好,可以说是很多公司学习的榜样。从我个人的经历来说,我的技术成长相当大的一部分得益于当年在 Google 的 Code Review。所以,我也希望更多的同行能意识到 Code Review 的重要性,能够在项目中推行 Code Review,受益于 Code Review。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Google在Code Review方面表现出色,成为其他公司学习的榜样。文章分享了在Google进行Code Review的经验和心得,探讨了国内企业忽视Code Review的原因。作者认为,国内企业缺乏技术文化传承,导致工程师对Code Review缺乏经验和认知。通过个人经历,描述了对Code Review的态度转变,强调了其对团队协作和项目质量的重要性。文章详细介绍了Google的Code Review流程和标准,强调了其对工程师技术成长的积极影响。作者呼吁更多同行意识到Code Review的重要性,并在项目中推行Code Review。文章深入探讨了Code Review在技术圈内的影响和推广问题,为读者提供了有益的思考和启发。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《设计模式之美》
新⼈⾸单¥98
立即购买
登录 后留言

全部留言(62)

  • 最新
  • 精选
  • tingye
    国内code review难推广的一个原因可能也和文化有关,老外习惯直来直往评价和就事论事,中国人为人处世讲究委婉,要面子,特别同级别同事间往往不好意思直接指出别人的问题

    作者回复: 说的太对了

    2020-06-24
    11
    125
  • 皮特尔
    之前好像听池老师说过:极客时间团队是有Code Review的。 感觉这件事主要还是看团队吧。

    作者回复: 有很多团队说有,实际上算不上有。。走个过场而已。。

    2020-06-26
    3
    14
  • Monday
    公司让我等制定code review规范,并推广。 ps:现在公司情况:code review 各自(组)为政。 我了解的几个组是只在乎功能正确性,不怎么在乎编码规范/风格、命名风格。各组的评审流程也不一样。 我现在的思路 1、收集各组的评审方式及规范 2、整合各组的方式和规范结合业界的最佳实践(如google)制定出适合我司的一套规范与流程1.0 3、推广使用,收集反馈,补充和优化规范和流程,避免形式化 小争哥或各位学友有哪些好的建议呢,谢谢

    作者回复: 不错,可以先把你列举的这些执行到位再说~

    2020-06-29
    2
    12
  • 黄骏
    有时候review同事的pr,一些语法和编程风格的问题比较多,好像重视程度也不够,反馈后新的pr仍然如此,对reviewer来说就不太友好了,觉得我提的问题太傻了么?

    作者回复: 反馈给领导层,让领导层推编程规范~

    2020-06-26
    4
  • 迷羊
    感觉还是没有会 Code Review 的人带

    作者回复: 杨哥,我带你!

    2020-06-24
    6
    3
  • cricket1981
    想了解下Google是如何将这些规范落地的?有什么具体措施国内公司能够借鉴吗?道理大家都懂,但实际操作起来怎么监督实施呢?

    作者回复: 对于不满足规范的,坚决不让提交上去。就看有么有决心执行了。

    2020-06-27
    2
  • skull
    老师,我看了google的code review最佳实践,发现是以每一次的pull request为维度进行的code review,而我们现在的code review是以项目为维度的,项目提测前进行统一的code review,发现不好的代码,leader让去修改,这样两种方式哪种更好点啊

    作者回复: 肯定是前一种了,后一种很难做全面细致吧

    2020-07-08
    2
  • Jxin
    原因: 1.缺少追求卓越的氛围。先run的理念退化成了能run就行。 2.招聘要求上基本都会有代码设计能力,编码规范,甚至代码洁癖的项。但实际上基本不提,顶多背几个设计模式。那么编码能力就变得很鸡肋,因为它与薪资几乎无关。叫好不叫坐大概就是这个意思。 3.重构本是小步快跑,但我看到的大部分都是重写,而非重构。这就导致认知中的重构成本很高,进而就会排斥。而只写代码不重构代码,在编码能力的提升上是很缓慢的。如果把识别坏代码的能力看作是一把尺子。经常重构的人,这把尺子的精度是一毫米,只写功能的人精度只有一分米。那么在识别坏味道评估改动点时就会很模糊,模糊就更不敢下手,恶性循环。 办法: 1.氛围,国内的开源项目先开始讲究,带个氛围。 2.将编码能力和算法放在同等位置看待。其实编码能力强的人,往往意味着思路清晰,讲究。这种人工作能力一般差不了。 3.普及重构理应小步快跑的理念。把事情拆小,把小事情做好,都很重要。重构需要会拆解工作,然后也别看重构手法简单,刻意训练后也会有质变。(重构是提高普遍认知的有效手段,只有认知上去了codereview才能被 重视)
    2020-06-24
    4
    53
  • 翠羽香凝
    我同时在美资外企和中国本土企业工作过,看到了另一个方面的问题:在美资企业,往往技术领导者有很大的权限,甚至很多公司的最高领导自己就是技术出身,对技术非常重视,也重视代码质量。 而中国的本土企业,大部分公司的领导都是销售,财务出身,有些甚至来自投行,把PPT看得重于一切,至于代码质量,抱歉,领导可能重来不知道代码还有质量这回事,不是应该完成功能通过测试就OK了吗? 而且,大部分的项目都很短命,就像中国的PPT文化一样,开发项目的目的就是“骗骗你”,钱到手了,项目的是否易于维护,是否易于扩展都并不重要,领导不关心,抱歉,你还真以为你要做一个Facebook呢?看看中国有几个BAT就知道了。
    2020-07-04
    2
    45
  • progyoung
    就个人的工作经历来看,很多互联网公司程序员的职责就是完成业务,没有功能bug是第一位的需求,至于代码质量,在leader的眼中根本就不重要。而且一个需求提出之后,恨不得马上就能看到结果,发布上线。在这样的大环境之下,996盛行,code review就被认为是浪费时间,怎么能推行的开呢?
    2020-06-24
    24
收起评论
显示
设置
留言
62
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部