写点什么

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

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

评论

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

混合云管理软件用哪个品牌好?咨询电话多少?

行云管家

新思科技BSIMM12报告显示开源、云、容器安全活动增长显著

InfoQ_434670063458

新思科技 软件安全 BSIMM

高维数据世界|基于高维稀疏矩阵的潜在变量模型研究

索信达控股

算法 变量模型 模型介绍 高维数据

手把手带你写一个 Vue3 的自定义指令

CRMEB

专家推荐五个免费的网络安全工具

喀拉峻

网络安全 安全 渗透测试 渗透

元气部落盲盒小程序开发芒趣盲盒app开发

风行无疆

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

Steven

架构实战营

数据产品经理实战-指标体系搭建

第519区

数据产品经理 数据产品 指标体系 指标管理

开发好能重构的代码,都是这么干的

华为云开发者联盟

接口 重构 代码 并发 注释

大厂算法面试之leetcode精讲11剪枝&回溯

全栈潇晨

LeetCode 算法面试

一页纸需求的应对方法 —— 五步法

CODING DevOps

业务价值 角色梳理 术语定义 主业务流程梳理 纲举目张

从双十一的物流大战,看全球通信网络的低延迟优化

融云 RongCloud

音视频 通信 低延迟 全球通信

Java&Go三种HTTP客户端性能测试

FunTester

Java 性能测试 测试框架 Go 语言 FunTester

Rust 元宇宙 9 —— 库和序列化

Miracle

rust 元宇宙

ONES Automation 流程自动化解决方案

万事ONES

自动化 SaaS

看完这5个核心功能,你会明白低代码平台到底能解决什么问题!

J2PaaS低代码平台

低代码 低代码开发 低代码平台

行业视野 | ONES CEO 王颖奇对话极客公园张鹏

万事ONES

SaaS SaaS平台

Rust 元宇宙 8—— 脚本

Miracle

rust 脚本 元宇宙

dart系列之:数学什么的就是小意思,看我dart如何玩转它

程序那些事

flutter dart 程序那些事 11月日更

你有一份「写作跨年」邀请函请查收 | 28天写作计划

TGO鲲鹏会

写作 技术创作 28天写作 内容创作 热门活动

Python代码阅读(第66篇):两个列表的包含关系

Felix

Python Code 列表 阅读代码 Python初学者

大厂算法面试之leetcode精讲12.堆

全栈潇晨

算法 LeetCode

react源码解析5.jsx&核心api

buchila11

React React Hooks

【最全攻略】玩转2021LIGHT开发者云大会

恒生LIGHT云社区

技术 开发 行业 行业大会

英特尔宋继强:秉持三个坚持,穿越技术周期,构建未来技术生态

科技新消息

社交泛娱出海新引擎,融云「六化」能力助开发者轻装上阵

融云 RongCloud

游戏出海 出海社交 出海

react源码解析6.legacy模式和concurrent模式

buchila11

React React Hooks

Linux一学就会之Vim编辑器的使用和Xmanager工具的使用。

学神来啦

vim Linux centos 运维 ext4

建立合格的跨职能团队,你需要知道这些!

禅道项目管理

团队 合作共赢

【IT运维小知识】虚拟化vCenter是什么意思?有啥优势?

行云管家

字节跳动亿级DAU客户端发布最佳实践

字节跳动终端技术

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