是时候提高代码审查水平了

2025-06-09

是时候提高代码审查水平了

这是我之前关于代码标准的博客文章的后续

所以,参与代码审查流程对我来说非常重要,相信我,我对此非常重视。这不仅对团队来说是必要的,对个人学习来说也是如此。

代码审查对于知识传递、避免犯小错误/常见错误以及在整个开发团队中维护最佳实践至关重要。以我的团队为例:我们团队大约有 12-15 名开发人员,他们都在编写需要审查的代码。所以基本上,这确实是一个很大的代码量!

为什么它很重要

将代码推送到生产环境很容易。任何人都可以做到,对吧?我们关心的是要部署哪些部分。

代码可能完全没问题,也可能部分代码会毁了一切。为了保持代码的高质量,我们都需要同行代码评审。这并非无稽之谈,因为我们都是同一个团队,我们的目标是共同交付最高质量的产品。

你肯定在想,这值得吗?不值得?值得吗?

绝对是的,项目不整合代码审查可能会导致大问题。你可能听说过很久以前发生的那场灾难:就是这样

此次事件发生的原因有很多,其中之一就是缺乏同行代码审查。在审查了源代码后,他们发现——可能的位翻转、导致故障保护失效的任务死亡、内存损坏、单点故障、针对堆栈溢出和缓冲区溢出的保护不足、单点故障遏制区域以及数千个全局变量。流程和产品中存在的缺陷数不胜数。

我们如何滚动事物

总体开发流程

开发流程

供参考 ;)

  • 绿线:确定通行证状态。
  • 红线:确定失败状态。

这是我们大多数项目都遵循的流程,当然,具体内容可能会根据不同的方面、客户和项目而有所不同。希望您理解得很清楚😓,如果不够清晰,我已经尽力了!!哈哈😄

Github代码审查流程

Github项目

现在,只需在 GitHub 上点击几下,即可轻松维护代码审查流程(这真的很棒!)。我们可以在代码库上创建新项目,并根据需要使用它。

一般来说,我们有大约四列就足够了:

  • 准备好审核:如果您的代码已准备好进行审核,您可以将卡片(拉取请求)添加到此列。
  • 审核中:现在代码审核员有责任将卡片移至“审核中”列,以便它在分支上得到更新,并且相关开发人员了解他/她的票目前正在审核中。
  • 变更请求:如果审核不达标,代码审核人员有责任将卡片移至此列。相关开发人员将进行必要的修复,并将工单退回至“准备审核”状态。
  • 已关闭/完成:如果卡片位于“已关闭”列,则表示 PR 已通过应有的标准。

审核时要注意什么

在审查代码时我们会考虑一些方面,其中一些方面如下:

谁负责

我们对代码审查流程的负责人制定了一些指导原则。具体如下:

  • 每张票将有一名高级代码审查员和一名初级代码审查员。
  • 每日站立会议结束后将立即进行评审。(取决于评审需要多长时间。)
  • 每天将由一人审查至少一张票(如果公告板上分配了任何票)
  • 工单应根据最新更新归类到相应的列中。(代码审查员和开发人员的责任)
  • 如果有来自高级代码审阅人员的任何反馈,初级代码审阅人员有责任查看他/她遗漏了什么。

确保遵循流程

我们会定期回顾并观察我们按照既定流程做得如何,以及是否有任何方法可以改进,以确保流程得到遵循并且不会成为任何人工作的负担/障碍。

该流程定义清晰,并根据客户和团队的不同,在不同的平台上进行维护。我们通常使用 Confluence,并强烈推荐给所有阅读本文的人。

从错误中吸取教训

我们维护了一份代码反馈表,其中列出了我们需要避免的常见错误。团队中的每个人都可以访问,并可以针对需要改进的地方、实现特定功能的新技术以及严格避免某些编码模式等问题进行补充。

我们的目标是
提升个人学习能力,使其成为更优秀的程序员。
提升代码库的质量,因为随着代码库的扩大,管理起来会变得越来越复杂。
我们不仅要保证数量,更要始终保证质量。
保持团队纪律,并理解意大利面条式代码的严重性。

就这些!这里面肯定有一些我可能漏掉的东西。如果你想了解更多,可以发邮件给我lovehuria@gmail.com,或者直接在这里留言,省得我费心查看邮件。:D

原文请点击此处。感谢阅读 :)

鏂囩珷鏉ユ簮锛�https://dev.to/lhuria94/time-to-level-up-code-reviews-g2
PREV
全栈琐事:你能在 5 分钟内回答这些面试问题吗?
NEXT
创建你自己的 React Boilerplate - 适合初学者