Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >你如何做Code Review 吗?

你如何做Code Review 吗?

作者头像
热心的大肚皮
发布于 2023-02-28 06:06:40
发布于 2023-02-28 06:06:40
7520
举报

大家好,我是热心的大肚皮,皮哥。

一、前言

Code Review 可以帮助我们提高代码质量、减少项目问题,那么您知道 Code Review 可以从哪些地方开始审查吗?下文将列出一个详细的代码审查清单。它分为 7 个独立的部分,每个部分都会引导我们完成几个问题。

二、代码审查清单

1. 功能检查

  • 此代码更改是否完成了它应该做的事情?
  • 这个解决方案可以简化吗?
  • 您是否会以在代码的可维护性、可读性、性能和安全性等方面有更好的方式解决问题?
  • 代码库中是否有类似的功能?如果有,为什么不复用此功能?
  • 这段代码是否遵循面向对象的分析和设计原则,如单一职责原则、开闭原则、Liskov 替换原则、接口隔离、依赖注入?

2. bug 检查

  • 您能想到代码未按预期运行的任何用例吗?
  • 您能想到任何可能破坏代码的输入或外部事件吗?

3. 依赖项检查

  • 如果此更改需要在代码之外进行更新,例如更新文档、配置、自述文件,是否已完成?
  • 这种变化是否会对系统的其他部分产生任何影响,是否已经兼容?
  • 如果代码处理用户输入,它是否解决了跨站点脚本、SQL 注入等安全漏洞,它是否进行输入清理和验证?

4. 可用性和可访问性

  • 从可用性的角度来看,提议的解决方案是否设计良好?
  • API 是否有据可查?
  • UI 是否可访问?
  • API/UI 使用起来是否直观?

5. 表现

  • 您是否认为此代码更改会对系统性能产生负面影响?
  • 您是否看到任何提高代码性能的潜力?

6. 测试

  • 代码是否可测试?
  • 它是否有足够的自动化测试(单元/集成/系统测试)?
  • 现有的测试是否合理地涵盖了代码更改?
  • 是否有一些测试用例、输入或边缘用例需要额外测试?

7. 可读性

  • 代码容易理解吗?
  • 哪些部分让您感到困惑,为什么?
  • 可以通过更小的方法来提高代码的可读性吗?
  • 代码的可读性可以通过不同的函数/方法或变量名来提高吗?
  • 代码是否位于正确的文件/文件夹/包中?
  • 更多注释会使代码更易于理解吗?
  • 是否可以通过使代码本身更具可读性来删除一些注释?
  • 您认为某些方法应该被重组以拥有更直观的控制流程吗?

三、自审代码

代码审查清单不仅适用于代码审查人员。我们应该并首先成为自己的审查者,遵循代码审查最佳实践。

因此,在发送代码进行审核之前,请确保:

  • 代码编译并通过静态分析,没有警告
  • 代码通过所有测试(单元、集成和系统测试)
  • 您已经仔细检查了拼写错误并进行了清理(评论、待办事项等)
  • 您概述了此更改的内容,包括更改的原因和更改的内容
  • 除此之外,作为代码作者,您应该通过与审阅者相同的代码审查清单。

四、关注重要问题

作为代码审查员,您的任务是首先寻找最重要的问题。结构或逻辑问题比代码格式等小问题更有价值。一份出色的清单将您的注意力引导到重要和最有价值的问题上。

五、自动化编码风格及约定

清晰的编码风格指南是在代码库中强制执行一致性的唯一方法。而且,一致性使代码审查更快,允许人们轻松更改项目,并使您的代码库保持可读性和可维护性。上文的审查清单没有介绍编码风格相关的内容,是因为我们建议使用自动化工具来强制遵守编码风格,节省编码风格的代码审查时间。

六、注意表达方式

最后,代码审查反馈的质量不仅取决于您在说什么,还取决于您怎么说。建议将您的反馈表述为建议而不是要求。例如,不要写“变量名应该是 removeObject ”,而是说“调用变量 removeObject 怎么样?”。

七、总结

代码审查清单以及围绕代码审查的明确规则和指南至关重要。代码审查清单可以使您的代码审查实践对您的团队更加有益,并显着加快代码审查速度。

本文详细介绍了 Code Review 的 7 种审查类型,帮助您在 Code Review 聚焦到重要和最有价值的问题上,提升 Code Review 质量。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿日常笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【译】送给你的代码审查问题手册
代码审查列表,是代码审查的明确规则和指导手册,它可以使代码审查为你的团队带来更多好处,并且能够显著提升代码审查的速度。
Jackeyzhe
2020/03/11
1.3K0
【译】送给你的代码审查问题手册
Google 是如何做 Code Review 的
Google 的代码审查在工程实践中起着重要作用,并且 Google 早期就已经开始采用。直到今天,代码审查仍用于保证代码库的整洁,一致,并确保没有人随意提交代码。Google 代码审查过程看上去与 Microsoft 的代码审查相似,不过仍有一些差别,让代码审查过程变得很轻。
GitHubDaily
2019/11/12
1.2K0
Google 是如何做 Code Review 的
【译】如何提出好的Code Review反馈
没错,Code Review系列还在继续,今天我们一起来聊一聊如何提出好的Code Review反馈。
Jackeyzhe
2020/03/11
7080
【译】如何提出好的Code Review反馈
我所了解Code Review得到认可并且保持更新
代码有这几种级别:1,可编译;2,可运行;3,可测试;4,可读;5,可维护;6,可重用。 通过自动化测试的代码只能达到第3层次,而通过code Review的代码可以上升到更高的层次。 如何进行Code Review? 我一直不认为programmer只是埋头Code,靠自己的大脑就能运行所有的Code,一个团队所有人都是这样的工作,那没有什么比这还要糟糕了。 多沟通,多交流,在一个团队是很必要的。 多问问题。 “这块儿是怎么工作的?” “这个问题,你这个怎么处理的?” 多当面讨论。 小组内的同事是坐在一起
rectinajh
2018/05/17
7290
Google是如何做Code Review的?| CSDN原力计划
我和几个小伙伴一起翻译了Google前一段时间放出来的Google’s Engineering Practices documentation(https://github.com/google/eng-practices),翻译后的GitHub仓库:https://github.com/xindoo/eng-practices-cn,欢迎加star。目前只是翻译完了,因为译者水平有限,还需要审校。另外后续Google肯定还会有新内容放出来,欢迎想参与贡献的小伙伴加入,也欢迎在GitHub上加star。
AI科技大本营
2019/12/02
8100
微软是如何做 Code Review 的
我也是。因此,我与同事一起调查了 Microsoft 是如何进行代码审查的。他们的做法是常见的做法吗?开发人员是否需要进行代码审查?他们使用哪些工具?让我们在这篇文章中找到答案。
GitHubDaily
2019/11/14
8740
微软是如何做 Code Review 的
如何做有效的代码走查
每天读一篇一线开发者原创好文 ▍作者简介 丁一:无线研究院敏捷教练,技术爱好者,喜欢阅读和分享,致力于让敏捷管理实践和技术实践在团队中更好的落地。 代码走查,英文词语叫:Code Review,也叫“代码审查”,它是我们公司的一项传统保留项目。记得一位工作超过20年的老员工说过:“我加入中兴的时候就有代码走查了。”,可见这项实践的悠久历史。 1.代码走查的形式 代码走查的形式有很多种,主要有以下几种形式: 每日走查:只针对每日提交的内容进行评审,走查时间和地点都比较灵活。 专项走查:针对某个具体问题或者专题
企鹅号小编
2018/03/05
7.6K1
如何做有效的代码走查
Code Review最佳实践
因为最近在工作上参与制定了团队的一些Code Review(CR)的规范,所以想在这里给大家分享一下我们积累的一些CR最佳实践。本篇文章会包括下面这些内容:
进击的大葱
2022/08/22
9220
Google: 如何做code review?
导语:Google 前几天公开了一篇谷歌的工程实践文档,内容跟 code review 相关,里面包含了 Google 工程师如何进行 code review 的内容,以及 code review 指南。笔者将其转译成中文,以便大家参考学习。 原文地址: https://google.github.io/eng-practices/review/reviewer/ 本文的名词解释: cr: code review cl: change list,指这次改动 reviewer: cr的那个review
腾讯技术工程官方号
2019/09/27
3.4K0
Google: 如何做code review?
Google程序员他们是如何去做coder review的
Code review 的主要目的是确保Google代码库的整体代码运行状况随着时间的推移而得到改善。Code review的所有工具和流程都是为此而设计的。
苏南
2020/12/16
5790
Google程序员他们是如何去做coder review的
深入浅出,Code Review 最佳实践
我一直认为Code Review(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题。包括像Google、微软这些公司,Code Review都是基本要求,代码合并之前必须要有人审查通过才行。
芋道源码
2019/09/10
1.1K0
深入浅出,Code Review 最佳实践
如何高效迅速的进行CodeReview
很多公司都要求项目做CodeReview,但很多人第一次CodeReview往往不知道该如何做,也不知道为什么去做。笔者参加过几个项目的CodeReview,发现一些共性问题:
架构之家
2022/07/12
7160
如何高效迅速的进行CodeReview
软件工程之编码(1)
在软件开发领域,编码是一门艺术,也是软件工程中最为基础和关键的环节之一。优秀的编码实践能够提高代码的可维护性、可读性,降低bug的产生概率,加速团队协作进程。在本文中,我们将深入探讨软件工程中编码的各个方面,分享一些提高编码质量和效率的技巧和方法。
人不走空
2024/02/21
3100
编写清晰易读代码的艺术-编码规范与最佳实践
在软件开发中,代码的可读性直接影响到其可维护性和团队协作的效率。良好的编码规范不仅帮助开发者自己理解代码,还能让团队中的其他成员快速上手项目。然而,许多开发者在编码时往往忽视了这一点。本文将探讨如何编写清晰易读的代码,包括编码规范与最佳实践,并通过代码示例来说明如何实现这些规范。
一键难忘
2024/09/01
8520
6 个实用的Code Review 实践技巧
怎么做 code review?本文分享了 Shopify 非常实用的 6 个 code review 实践技巧。
zz_jesse
2020/07/02
8010
谷歌工程实践 | 学习笔记
最近公司同事作了个Code Review的分享,于是乎我系统学习了下《谷歌工程实践》,里面主要讲的是Code Review。写下本文作为笔记。
太白技术
2022/09/01
6050
Java项目Git提交规范
在Java项目中,遵循良好的Git提交规范有助于提高代码的可维护性、可读性和团队协作效率。以下是一些常见的Git提交规范建议:
訾博ZiBo
2025/01/06
1250
你有做 Code Review 吗?
在代码的编写中有一个很重要的环节,经常会被忽视,那就是 Code Review ,据说在 Facebook、Google 这种互联网大公司,要求每一个提交都必须通过审查,对于每个工程师来说 Code Review 是一项十分重要的工作,甚至比写代码本身更重要。
oec2003
2021/07/05
9210
软件开发过程中为什么要Review?
提高质量:通过Review可以发现潜在的问题和错误,从而避免在后期出现问题,提高软件的质量。
小冷coding
2023/12/11
4240
软件开发过程中为什么要Review?
Java Code Review 指南
Java代码俯身指南,主要为Java开发人员提供代码复审参考,快捷有效提出修改意见。
白凡
2018/08/07
1.9K0
相关推荐
【译】送给你的代码审查问题手册
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档