2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

不做代码审查又怎样(一)

  • 2020-01-17
  • 本文字数:751 字

    阅读完需:约 2 分钟

不做代码审查又怎样(一)

从一次回顾会议开始

“要不……我们不做……代码审查了……试试?”还记得当有人抛出这个建议时周围同学的表情,那种表情用两个字加两个标点符号就可以形容:“什么?!”


对了,先介绍一下背景,这是项目一次普通的回顾会议,我们正在讨论的是如何让代码审查更有效率和效果。我们做代码审查的方式比较简单直接,就是每日站会后,大家围在一台开发机周围,逐一轮换讲解昨天所有提交的内容,就像下图中的那样。还有,这是一个已经超过了 7 年的比较大型的项目,代码审查是我们从项目开始就坚持的一个实践,所以当有人提议废除它的时候,这在很多同学心里是想都没想过的事情。


代码审查是一个很好的实践,可以帮助团队里的同学了解其他同学在做什么,可以分享项目的上下文,可以分享技术上的一些小魔法,可以发现很多潜在的代码缺陷,可以提高代码质量,还可以有很多很多好处……


但是,在真正的实施过程中,很多情况下并不像想象的那般美好,经常出现例如有些同学由于跟不上其他人讲解的速度(毕竟不是自己写的)或是没有相关的上下文(例如刚加入项目的新成员),或是由于提交没有被很好的切分和组织,导致整个过程都处于游离状态(就像下图中的我……毫无摆拍痕迹),而代码审查的效果也打了折扣,渐渐的变成了一个流程,一个过场, 一个习惯。



图 1. Code Review


于是团队里就有人站了出来,引导大家去发现背后的问题,也就引来了这样一场激烈的讨论。在讨论中,有些同学坚持在说代码审查还是很有用的,有这样那样的好处,需要保持下去;有些同学则非常实际地指出了执行上的各种困难和问题。讨论异常激烈,直到有人小心翼翼地提出了文章开头的那个建议,一片哗然后大家都陷入沉寂:是啊,不做代码审查了,我们会失去或是得到什么呢?


本文转载自健荐公众号。


原文链接:https://mp.weixin.qq.com/s/9l-549sddZ_JFMqdNC8CgQ


2020-01-17 11:23687

评论

发布
暂无评论
发现更多内容

python偏函数

红毛丹

Python 6月月更

Redux之利用 distinct 属性进行性能优化

岛上码农

flutter ios 安卓开发 跨平台应用 6月月更

数字化时代做知识管理的最佳实践方式

小炮

关于volitile相关知识

北洋

6月月更

学生管理系统详细架构

intelamd

不止于观测|阿里云可观测技术峰会正式上线

阿里巴巴云原生

阿里云 开源 云原生 可观测峰会 行业实践

华为云AppCube零门槛搭建5G消息服务号

乌龟哥哥

6月月更

Hoo研究院 | OlympusDao调研报告

区块链前沿News

DAO Hoo 算法稳定

Vue 组件如何在设置 Props

devpoint

Vue Vue3 InfoQ极客传媒15周年庆

1.4 宏观/中观/微观架构(连载)

凌晞

架构 架构设计 架构设计实战

观测云产品更新|观测云计费更新;新增 Jenkins CI 可观测;新增自定义查看器图表同步搜索等

观测云

应用实践 | 物易云通基于 Apache Doris 的实时数据仓库建设

SelectDB

数据库 架构 最佳实践 Doris MySQL 数据库

leetcode 126. Word Ladder II 单词接龙 II(困难)

okokabcd

LeetCode 搜索 算法与数据结构

数据库每日一题---第6天:删除重复的电子邮箱

知心宝贝

数据库 程序员 前端 后端 6月月更

在 Vue3 + Element Plus 中生成动态表格,动态修改表格,多级表头,合并单元格

蒋川

低代码 Vue3 组件 表格 Element Plus

程序猿必备的数电知识,快来看看你掌握多少!(建议收藏)

孤寒者

进制转换 数电 常见进制

优酷弹幕穿人「渲染技术」揭秘

阿里巴巴文娱技术

工程能力 音视频开发 渲染

如何保证设计出合理架构 - 作业

阿拉阿拉幽幽

架构实战营第三模块课后作业

Geek_53787a

课后总结

InfoQ 极客传媒 15 周年庆征文|纯 CSS 画一张生日贺卡祝 InfoQ 生日快乐

1_bit

前端 热门活动 InfoQ极客传媒15周年庆

行泊一体方案「换道超车」,百度担当汽车智能化风向标

百度开发者中心

架构设计-外包学生管理系统

Roy

架构实战营

在这些根技术里,读懂华为的“三观”

脑极体

InfluxDB 时间线简析

观测云

百度APP视频播放中的解码优化

百度开发者中心

《阅读的方法》:怎么找阅读的乐趣?

郭明

读书笔记

API 网关 Apache APISIX 在 Amazon Graviton3 上的安装与性能测试

亚马逊云科技 (Amazon Web Services)

apisix;Tech 专栏

OpenKruise v1.2:新增 PersistentPodState 实现有状态 Pod 拓扑固定与 IP 复用

阿里巴巴云原生

阿里云 云原生 开源项目

控制并发线程数的Semaphore

急需上岸的小谢

6月月更

不做代码审查又怎样(一)_语言 & 开发_王健_InfoQ精选文章