写点什么

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

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

    阅读完需:约 2 分钟

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

从一次回顾会议开始

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


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


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


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



图 1. Code Review


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


本文转载自健荐公众号。


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


2020-01-17 11:23586

评论

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

阿里云函数计算助力高德 RTA 广告投放系统架构升级

Serverless Devs

Serverless 高德

免费赠送测试开发精品课,提高职场竞争力!

测吧(北京)科技有限公司

测试

Janus: 基于eBPF的5G实时AI控制器

俞凡

架构 网络 通信 ebpf RIC

MathType2023免费版数学公式编辑器

茶色酒

MathType2023

1行Python代码,把PPT转成图片,python-office功能更新~

程序员晚枫

Python Office 自动化办公

用友成为铸基计划-2022标准建设贡献单位!

用友BIP

2022 IoTDB Summit:宝武智维徐少锋《Apache IoTDB 在宝武装备远程智能运维平台中的使用案例》

Apache IoTDB

大数据 时序数据库 IoTDB

Jetpack-Compose 学习笔记(一)—— Compose 初探

修之竹

android Compose android jetpack

ListView简单实用

芯动大师

ListView baseadapter stackfrombottom

设计模式之美—接口隔离

GalaxyCreater

设计模式

Spring进阶:定义bean时容易踩的两个坑,连老手也容易犯错

程序员拾山

spring

这样在 C# 使用 LongRunnigTask 是错的

newbe36524

C# Docker Kubernetes

Docker 环境搭建

流火

Docker

软件测试 | Dashboard是什么?

测吧(北京)科技有限公司

测试

4.基于Label studio的训练数据标注指南:情感分析任务观点词抽取、属性抽取

汀丶人工智能

自然语言处理 数据标注 实体抽取

三天吃透SpringMVC面试八股文

程序员大彬

Java spring springmvc

2022 IoTDB Summit:IoTDB PMC 乔嘉林《端边云协同:Apache IoTDB 全新单机分布式架构》

Apache IoTDB

好用的数据校验&修复工具gt-checksum开源啦

GreatSQL

greatsql社区 gt-checksum

详解基于 Celestia、Eclipse 构建的首个Layer3 链 Nautilus Chain

西柚子

英特尔公司高级副总裁、中国区董事长王锐: 下一个中国是中国!

科技之家

5分钟部署百台云上计算机,22支参赛队伍快速接入南网电力调度AI应用大赛

云布道师

无影云电脑

软件测试 | K&S批量运行测试用例

测吧(北京)科技有限公司

测试

C++ 线程池

王玉川

c++ 编程语言 多线程 线程池

你应该了解哪些延迟数字?

Kian.Lee

I/O Latency CPU 寄存器 RAM SDD L1\L2\L3

放弃网站不是明智之举,中小企业要选择适合自己的营销模式

石头IT视角

【Java优化实战】「微基准系列」带你脚踏实地的进行开发和使用JMH测试和提升应用程序和服务指南

洛神灬殇

Java JMH 3月日更 JMH性能基准测试

四步走搭建自己的专属 ChatGPT(附开源代码)| 社区征文

FN0

AI 话题广场 ChatGPT

Matlab实现小波变换

timerring

图像处理 数字图像处理

2022 IoTDB Summit:中冶赛迪工业互联网平台与CISDigital-TimeS(基于IoTDB)在钢铁行业的实践

Apache IoTDB

大数据 开源 IoTDB

推荐这5个很牛的开源项目,程序员直呼内行

引迈信息

开源 低代码

ChatGPT,开启人机交互新篇章 | 社区征文

柒号华仔

人工智能 openai ChatGPT

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