写点什么

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

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

    阅读完需:约 2 分钟

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

从一次回顾会议开始

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


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


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


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



图 1. Code Review


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


本文转载自健荐公众号。


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


2020-01-17 11:23631

评论

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

普通工程师简史

郭华

SpringBoot系列(三):SpringBoot特性_SpringApplication类(自定义Banner)

xcbeyond

Java 微服务 springboot Banner

奋斗在一线大城市的年轻人的生活工作实录(工厂蓝领篇)

Learun

程序员 软件开发 故事 企业信息化 短片小说

解析中美数字货币竞争战略 | 构建属于“人类命运共同体”的货币体系

CECBC

数字货币 人民币

DSN 主流项目调研 2——Sia和SAFE Network

AIbot

区块链 分布式存储 分布式文件存储 Sia SAFENetwork

Cobra 命令自动补全指北

郭旭东

cobra Go 语言

数据平台、大数据平台、数据中台……你确定能分得清吗?

华为云开发者联盟

大数据 数据中台 开发者 数据湖 数据

美丑平等

shengjk1

随笔杂谈

你看脸吗?

shengjk1

随笔杂谈

JAVA位运算

彭阿三

Java 位运算

低/零代码会让程序员失业吗?

代码制造者

程序员 低代码 零代码 信息化 编程开发

一文搞懂Flink rocksdb中的数据恢复

shengjk1

大数据 flink源码

害怕

shengjk1

随笔杂谈

Kafka和RocketMQ底层存储之那些你不知道的事

yes

kafka RocketMQ 零拷贝 Mmap

你可能不知道的iPython使用技巧

wangkx

Python

SpringBoot系列(二):如何灵活使用SpringBoot

xcbeyond

Java 微服务 springboot

易观CTO郭炜:如何构建企业级大数据Ad-hoc查询引擎

易观大数据

LeetCode题解:88. 合并两个有序数组,for循环合并数组+sort排序,JavaScript,详细注释

Lee Chen

大前端 LeetCode

关于微服务架构的一些思考

俊俊哥

微服务

《深度工作》学习笔记(完)

石云升

读书笔记 时间管理 专注 深度工作

别让非理性思维毁了你的人生

看山

随笔杂谈 非理性 认知偏差 自控术

Django查看操作数据库的执行命令

BigYoung

数据库 django 操作

DSN 主流项目调研 3——Orbit数据库的故事

AIbot

区块链 分布式存储 IPFS 分布式文件 Orbit

网站域名备案怎么做?有哪些快速备案的方法?

姜奋斗

网站 备案 网站搭建 域名解析 网站平台

每个大火的“线上狼人杀”平台,都离不开这个新功能

ZEGO即构

游戏 RTC 社交

流量明星翻车的“直播卖房”,为什么众盟做成了?

脑极体

熬得住,人生路

shengjk1

随笔杂谈

浅析Python中的列表和元组

wangkx

Python python升级

我国开启“逆袭战”,区块链的盛夏来了?

CECBC

云计算 区块链技术

流媒体云时代的声与色,融云铺就的桥与路

脑极体

手抖了

shengjk1

随笔杂谈

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