【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

  • 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:24541

评论

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

面试突击30:线程池是如何执行的?拒绝策略有哪些?

王磊

java面试

To程序员:要写出好代码,你需要懂点儿“底层思维”

博文视点Broadview

22.04 LTS爆料现场 - UKUI 3.1实操界面曝光,简约却不简单!

优麒麟

Linux 开源 操作系统 优麒麟 UKUI

redis持久化机制

喀拉峻

网络安全

Flink 实践教程-进阶(9):自定义表值函数(UDTF)

腾讯云大数据

flink sql 流计算 Oceanus

多场景推进 服务网格在联通的落地实践(上)

百度大脑

遵循Promises/A+规范,手把手带你实现Promise源码(核心篇)

战场小包

JavaScript 前端 Promise 3月月更

【网络安全】brainpan-windows缓冲区溢出详解

网络安全学海

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

基于迁移学习的非侵入式负荷识别

白日梦

硬件工程师实用工具网站

不脱发的程序猿

嵌入式 智能硬件 电路设计 硬件工程师 实用工具网站

LabVIEW设计自定义指示灯和按钮控件

不脱发的程序猿

LabVIEW 自定义控件方法

智慧停车场-车牌识别自动计费系统

DS小龙哥

车牌识别 3月月更

如何使用帆软BI直接分析明道云数据

明道云

模块五作业

achilles

Java中的异常

javaadu

Java 面试题 Java面试题

微博系统中”微博评论“的高性能高可用计算架构

孙强

架构师实战营

开源|携程机票BDD-UI测试框架Flybirds

liang chen

开源 自动化测试框架 BDD UI自动化

Flink 实践教程-进阶(10):自定义聚合函数(UDAF)

腾讯云大数据

flink sql 流计算 Oceanus

什么是数据中心架构?

Ethereal

架构训练营模块五

刘帅

什么是数据中心虚拟化?

Ethereal

算法训练营毕业总结

白开水又一杯

算法训练营

Redis集群架构剖析(1):认识cluster

非晓为骁

redis redis cluster 分布式,

Python 中的函数式编程三大法宝:map、filter、reduce

踏雪痕

Python map reduce 3月程序媛福利 3月月更

我们不太可能一直存在着失控的人生,我们要做的是,让拥有自控力的时间长一点,让失控的日子短一点。

叶小鍵

Java基础重要面试题(一)

逆锋起笔

java面试 java基础 3月月更

阿里巴巴发布最佳实践 | 阿里巴巴DevOps实践指南

阿里云云效

云计算 阿里云 DevOps 云原生 迭代管理

如何基于实时声纹变声实现对声音的“克隆”

声网

人工智能 音视频 声纹识别

camtasia studio2022更新内容介绍

茶色酒

浏览器中的页面

Tristan

2022年软考时间是怎么安排的,有哪些工种可以选择?如何备考?

Ethereal

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