写点什么

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

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

    阅读完需:约 3 分钟

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

回到问题上来

如果沟通金字塔的理论说的通,那代码评审就不再是一个:“必须要做的敏捷实践”,而只是沟通金字塔上的一层而已。那它的存在必然是为了弥补上下层沟通之间的空隙,那这个空隙到底是什么呢?是什么样的沟通是结对编程所不能覆盖,而用类似于迭代计划会这种更高层的沟通机制覆盖又不太经济的呢?为了让团队重新找回这个答案,我们最终决定试一试:


停止代码审查一个月,在这一个月的时间我们去体会没有代码审查的得与失,在一个月之后重新举行回顾会议再来讨论是否要继续做代码审查。


在一个月后如期进行的回顾会议上,团队又重新讨论了这个议题,最终觉得通过这一个月的尝试,在还无法做到更频繁地 Switch Pair 的情况下,代码审查还是很有必要的。例如在这个月中,大家对于其他人在做的工作了解变少,集成出现了很多冲突;缺陷的数量也有所增加,其中有些是很明显的错误,很容易通过代码审查的方式发现并在前期消除;代码质量也有明显下降,出现了测试的缺失和很多代码坏味道。


而另一方面为了让代码审查能够真正的发挥其作用和价值,经过讨论我们也优化了代码审查的方式,让大家更有参与感,更有效率,也更有乐趣(见下图抓拍)。



图 5. 改进后的 Code Review

交付价值 Over 遵循实践

日本剑道有个心诀,叫守 破 离:


1.“守”:最初阶段须遵从老师教诲,认真练习基础,达到熟练的境界。


2.“破”:基础熟练后,试着突破原有规范让自己得到更高层次的进化。


3.“离”:在更高层次得到新的认识并总结,自创新招数另辟出新境界。


守固然重要,但如果不能在守得基础上寻求突破,领会其中的奥秘和背后的道理,则始终无法达到离的新境界。在中国的武术中也有“无招胜有招”的说法,这里的无招就是指在将招数融会贯通之后,能够运用招式背后的原理,打破招数的限制,随机应变,自由应对。


而反观我们自己,是不是已经慢慢的不知不觉的被困在“守”的围城之内,变成了猴子定律中最后的那群猴子,只知道去拿香蕉会被打,也会跟着其他猴子去打那些试图拿香蕉的新猴子,但是为什么要这么做?我们已经忘了,或从来都没有知道过。


所以,不要以为遵循了敏捷提倡的一些实践我们就是敏捷的,不要以为遵循了精益的实践我们就是精益的。在我们没有理解并追求其背后真正价值的时候,只不过是平添了另外一份成本而已,不如不做。


本文转载自健荐公众号。


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


2020-01-17 11:24780

评论

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

架构演变之路:为何要搞微服务架构?

帅旋

Kubernetes 微服务 dubbo SpringCloud

分布式事务 - 理论模型

Java收录阁

分布式事务

微信小程序开发 | 如何在小程序中使用自定义 icon 图标

彭宏豪95

微信小程序 学习 编程 大前端 IT

游戏夜读 | 如何管理公司?

game1night

坚持ARTS-week2

王钰淇

ARTS 打卡计划

带你学够浪:Go语言基础系列 - 8分钟学控制流语句

程序员柠檬

后台开发 Go 语言

程序员都惧怕的故障域

松花皮蛋me

Java 问题处理

ARTS 01 - 技术人的理想主义

jerry.mei

算法 Vue 练习 ARTS 打卡计划 ARTS活动

LeetCode | 2. Reverse Integer 整数反转

Puran

Python C# 算法 LeetCode arts

SpringBatch系列入门之Tasklet

稻草鸟人

spring SpringBatch 批处理

ARTS打卡week#1

对方正在输入…

ARTS 打卡计划

【vue-openlayers】弹窗

德育处主任

html Vue 大前端 openlayers ol

初识 LeetCode

Puran

LeetCode arts

什么时候去面试

escray

Java 最新的JDK14.0.1调试成功

程李文华

centos7分区命令parted的用法(大于2T)

唯爱

Java 走过的创新25年

田晓旭

Java25周年

程序员的晚餐 | 6 月 2 日 红烧鸡爪的味道

清远

美食

洞悉MySQL底层架构:游走在缓冲与磁盘之间

帅旋

MySQL 数据库 MVCC

工作的创新能力

punkboy

产品 重新理解创业 产品经理 创新突破 创新

LeetCode | 1. Two Sum 两数之和

Puran

Python C# 算法 LeetCode arts

谈谈控制感(13):为什么是旁观者清?

史方远

读书笔记 个人成长 心理学 随笔杂谈

有的线程它死了,于是它变成一道面试题。

why技术

源码分析 面试 jdk源码 线程池

深入理解JVM内存管理 - 堆和栈

Skye

堆栈 深入理解JVM VM参数

一文入门JVM虚拟机

Simon郎

深入理解JVM

同一浏览器只允许登录一个账号

码字与律动

Vue 大前端

路漫漫其修远兮

无心水

【大厂面试02期】Redis过期key是怎么样清理的?

NotFound9

Java 数据库 redis 架构 后端

重学 Java 设计模式:实战适配器模式

小傅哥

设计模式 小傅哥 重构 代码质量 代码坏味道

【Sentry搭建之 docker-compose】

卓丁

DevOps Docker-compose CI/CD sentry

【译】5 个你需要知道的 JavaScript 小技巧

零和幺

Java 大前端 技巧

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