写点什么

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

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

评论

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

软件测试|pyecharts绘制NBA球星得分能力对比图

霍格沃兹测试开发学社

2024深圳电子展

AIOTE智博会

电子展

一文快速了解微服务架构

穿过生命散发芬芳

微服务 6 月 优质更文活动

Java SPI 在 Sentinel 中是如何应用的?

互联网架构师小马

Java sentinel spi

H5 单双引号问题

Andy

软件测试|教你轻松解决pip安装下载超时问题

霍格沃兹测试开发学社

2023-06-09:什么是Redis事务?原理是什么?

福大大架构师每日一题

redis 福大大

请解释如何实现算法 PERMUTE-BY-SORTING,以处理两个或更多优先级相同的情形。也就是说,即使有两个或更多优先级相同,你的算法也应该产生一个均匀随机排列。

福大大架构师每日一题

福大大 ChatGPT

Nop平台为什么是一个独一无二的开源软件开发平台

canonical

开源 低代码 开发平台

pytorch实现前馈神经网络实验(手动实现)

Studying_swz

6 月 优质更文活动

责任链模式在 Sentinel 中的应用

互联网架构师小马

精进:如何跳出疯狂的忙碌

老张

个人提升 如何解决问题 思维逻辑

限流功能实现原理

互联网架构师小马

软件测试|一文带你了解Flask框架

霍格沃兹测试开发学社

STM32读取BH1750光照强度数据打印到串口

DS小龙哥

6 月 优质更文活动

边缘计算简介

天翼云开发者社区

云计算 边缘计算

头部大模型公司进京赶考,向量数据库成为应考神器

Zilliz

Milvus Zilliz AIGC 向量数据库 zillizcloud

android项目问题总结

Studying_swz

6 月 优质更文活动

Sentinel的整体工作流程分析

互联网架构师小马

潮流地标美罗城焕新活力,智图赋能传统商业经典延续|MobTech观察

MobTech袤博科技

软件测试|一文教你flask路由配置

霍格沃兹测试开发学社

百度沈抖:所有产品将基于大模型重构,要做好三大准备

科技热闻

帮您了解CDN节点如何做到访问加速与安全防护

天翼云开发者社区

云计算 CDN 内容分发网络

C语言编程—强制类型转换

芯动大师

C语言 强制类型转换 6 月 优质更文活动

ChatGPT教我用200行代码写一个简版Vue框架 - OpenTiny

Kagol

vue.js 前端 ChatGPT

什么是无服务器架构技术?

天翼云开发者社区

服务器 架构设计

镭速用心打造,新版本发布,为用户实现更多可能

镭速

软件测试|Python绘图神器——Matplotlib使用教程(一)

霍格沃兹测试开发学社

图文详解丨iOS App上架全流程及审核避坑指南

雪奈椰子

虚拟机安装Ubuntu16并安装Ros(Kinetic)

Studying_swz

6 月 优质更文活动

Sentinel 是如何实现资源指标数据统计的

互联网架构师小马

Java sentinel

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