首页 > 其他分享 >[引]谷歌代码评审开发者指南

[引]谷歌代码评审开发者指南

时间:2024-05-30 22:47:26浏览次数:19  
标签:指南 cn eng 代码 谷歌 评审 开发者

本文转自:关于代码评审(CodeReview)那些不得不说的事儿-腾讯云开发者社区-腾讯云 (tencent.com)

如何写出对CodeReview友好的代码

程序写出来是给人看的,附带能在机器上运行。 ——Harold Abelson

 

提升代码质量

  假如将一个系统比作一个生命体,一行行代码比作一个个细胞,不好的设计宛如癌细胞,会逐渐扩散,终将杀死系统。而CodeReview的过程就像是T细胞吞噬掉癌细胞,保证系统的健康成长。让系统有更长久的生命力。

没有人Review的代码,其代码水准就是写代码人的水准,而被一个团队Review过的代码,它的水准将接近甚至超过整个团队的最高水准。

 

 

 

 

 

 

eng-practices-cn/review/index.md at master · xindoo/eng-practices-cn · GitHub

 

代码评审开发者指南

介绍

代码评审是一些人提交一些代码片段,供另外一些人审阅的流程。
在谷歌,我们都是通过代码评审来保证代码和产品的质量。
这篇文档是对谷歌代码评审流程和策略的权威描述。
这一页是我们代码评审过程的概述。这篇指南其他有两个大的部分,分别是:

代码评审者需要关注什么?

代码评审者需要关注:

  • 设计: 代码是否设计良好并且适合你们的系统?
  • 功能性: 代码功能是否和开发者预期一致?这种方式是否对用户友好?
  • 复杂性: 代码能不能更简单? 其他开发者能否快速理解并在未来很容易地使用这段代码?
  • 测试: 这段代码是否有正确和设计良好的自动化测试样例?
  • 命名: 开发者有没有正确地对变量、类、方法等命名?
  • 注释: 注释是否清晰有用?
  • 代码风格: 代码风格是否遵循谷歌代码风格指南?
  • 文档: 开发者是否更新了相关文档?

参考 代码评审者指南 获取更多信息。

挑选最适合的代码评审者

通常而言,你都希望找个一个最合适的评审者在合理的时间里对你的变更作出评审。
最合适的评审者是那些能对你代码做出最全面最准确评价的人,一般情况下都是代码的维护者(他可能在所有者列表里也有可能不在)。 有时这意味着要不同的人阅读不同的部分。
如果你找到理想的评审者但他没有时间,你也至少应该抄送他。

亲自评审

如果你是和某个合格的代码评审者结对写的代码,那么这段代码可以认为已经通过评审了。
你也可以以问答的方式亲自参与代码评审。

参见

标签:指南,cn,eng,代码,谷歌,评审,开发者
From: https://www.cnblogs.com/freeliver54/p/18223402

相关文章

  • 创新指南|利用电商产品视频进行渠道营销的最佳策略,不断提升销售额
    无论企业的利基市场如何,电商产品视频都已被证明是非常可靠的资产,可以让目标受众了解您所提供的产品——关键功能、展示重要的差异化优势甚至改变大多数营销活动的游戏规则。阅读本文,全面了解电商产品视频如何融入营销推广,以最大限度发挥其潜力!01.为什么要使用视频做电商?随......
  • 优化Python中的数据结构与算法(指南)
    ......
  • Java面试进阶指南:高级问题与解答精粹(一)
    Java面试问题及答案1.什么是Java内存模型(JMM)?它的作用是什么?答案:Java内存模型(JMM)是一个抽象的概念,它定义了Java程序中各种变量(线程共享变量)的访问规则,以及在并发环境下如何保证这些变量的可见性、原子性和有序性。JMM的作用是确保在并发编程中,不同线程之间对共享变量的操......
  • Java面试进阶指南:高级问题与解答精粹(二)
    Java面试问题及答案1.什么是Java内存模型(JMM)?请简述它的作用。答案:Java内存模型(JMM)是一个抽象的概念,它定义了Java程序中各种变量(线程共享变量)的访问规则,以及在并发环境下如何保证数据的一致性。JMM规定了线程如何与主内存(所有线程共享的内存)交互,以及如何通过工作内存(每个......
  • Java进阶指南:高级面试问题与精辟解答(一)
    Java面试问题及答案1.请解释什么是Java内存模型(JMM)?它在并发编程中扮演什么角色?答案:Java内存模型(JMM)是一个抽象的内存模型,它定义了Java程序中变量的访问规则,以及在并发环境下如何保证内存操作的原子性、可见性和有序性。JMM确保了在多线程环境下,不同线程间对共享变量的......
  • Java进阶指南:高级面试问题与精辟解答(三)
    Java面试问题及答案1.什么是Java中的多态性?答案:多态性是Java中的一个重要特性,它允许一个引用类型可以指向多种实际类型的对象,并根据对象的实际类型调用相应的方法。多态性主要通过方法重载(静态多态)和方法重写(动态多态)来实现。方法重载发生在编译时,而方法重写发生在运行......
  • Altman 承诺将捐出大部分财富;苹果计划采用「机密计算」技术处理数据丨 RTE 开发者日报
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观点,......
  • 高效日志管理:通过 Systemd Journal 收集日志的终极指南
    随着systemd成了主流的init系统,systemd的功能也在不断的增加,比如对系统日志的管理。Systemd设计的日志系统好处多多,这里笔者就不再赘述了,本文笔者主要介绍systemdjournal收集日志的三种方式:程序使用libc库中的syslog()函数输出的日志使用printf()函数打印的......
  • 【校园网网络维修】福禄克FLUKECIQ100网络测试指南FLUKE Network 电缆测试仪/网络测试
    FLUKECIQ100网络测试——网络测线下方指针转到discover模式,检测交换机并显示连接设置(速度/双工/线对)大的带显示器的在宿舍接墙线使用小的适配器在机房接另一端RJ45水晶头使用产品参数介绍:在宿舍区校园网的使用情境下,我们一般只介绍discover模式的使用相关介绍:  ......
  • 任务悬赏系统革新:开发者视角下的变革
    一、前言         近年来,一个名为“任务悬赏”的新兴概念,正在悄然改变着软件开发的生态格局。今天,就为大家简单介绍这款任务悬赏系统。任务悬赏系统涉及多个关键技术领域,如云计算、大数据、人工智能等。其核心功能包括任务发布和发现、技能和专业知识匹配、沟......