HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

    阅读完需:约 2 分钟

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

从一次回顾会议开始

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


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


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


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



图 1. Code Review


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


本文转载自健荐公众号。


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


2020-01-17 11:23554

评论

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

2021年终总结:如何快速学完多个课程

石云升

知识付费 年终总结 28天写作 12月日更

读《思辨与立场》-01定义

wood

28天写作 批判性思维 思辨与立场

“元宇宙”,让人在数据空间“复活”

xcbeyond

28天写作 云宇宙 12月日更

C#中的结构与类

喵叔

28天写作 12月日更

腾讯云容器安全已支持检测Apache Log4j2漏洞

腾讯安全云鼎实验室

腾讯云安全、漏洞分析

为什么非要做个app

张老蔫

28天写作

MSSQL索引优化原理

lixiaofeng

SQL优化 签约计划第二季

谈跨域资源共享之CORS

devpoint

jsonp CORS 12月日更

Feign入门篇

李子捌

微服务 28天写作 12月日更

Camtasia的字幕功能应当如何使用

淋雨

Camtasia 录屏软件

SQL SERVER的统计信息

lixiaofeng

SQL优化 签约计划第二季

Spring Native 0.11发布,带来新的AOT引擎和性能优化

Robert Lu

Java GraalVM

从WAVE SUMMIT+2021,寻找新一代AI人不可或缺的“凝视”

脑极体

LeetCode刷题开源手册

入门小站

Leet Code

MySQL Xenon源码阅读-01

lixiaofeng

MySQL MySQL 高可用 签约计划第二季

MSSQL 执行计划

lixiaofeng

SQL优化 签约计划第二季

【行业观察】AI数据标注行业

mtfelix

28天写作

“朋友圈”又添好友,DataPipeline与统信服务器操作系统完成产品互认证

DataPipeline数见科技

大数据 操作系统 中间件 数据同步 数据融合

golang 脚本实时监控错误日志

lixiaofeng

mongodb MySQL 运维 签约计划第二季

前端架构师破局技能,Node.js 落地 WebSocket 实践

杨成功

架构 前端 架构师 nodejs websocket 签约计划第二季

漏洞学习篇:CVE漏洞复现

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞修复

你真的了解inner join吗

lixiaofeng

签约计划第二季

MySQL MGR + 自研脚本实现高可用

lixiaofeng

MySQL 高可用 签约计划第二季

MySQL MGR + 只读节点高可用

lixiaofeng

MySQL 高可用 签约计划第二季

学习 27 门编程语言的长处,提升你的 Python 代码水平

Python猫

Python

Spring AOP(三) Advisor类架构

程序员历小冰

28天写作 spring aop 12月日更

聚集索引数据写入

lixiaofeng

索引优化 签约计划第二季

趣谈 iOS Universal Link

37手游iOS技术运营团队

ios universal link

端口是什么东西?为什么老是被黑客利用

喀拉峻

黑客 网络安全 安全

MongoDB自动化运维

lixiaofeng

mongodb 签约计划第二季

Volatile 原理五:禁止指令重排是什么?

悟空聊架构

volatile 28天写作 悟空聊架构 12月日更 禁止指令重排

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