写点什么

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

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

评论

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

低代码开发——进最热的赛道,啃最硬的骨头

引迈信息

前端 低代码 快速开发 JNPF

iTubeGo YouTube Downloader 快速下载视频~

真大的脸盆

Mac 视频下载 网页视频下载 Mac 软件 下载视频

Vue3迎来升级,全面助力企业数字化转型

引迈信息

国产游戏引擎,竟然用来搞民航

Openlab_cosmoplat

人工智能 开源

车载手势识别技术:未来交通的革命性解决方案

数据堂

Web3和低代码开发:下一代Web应用开发的合作与创新

加入高科技仿生人

前端 Web 低代码

ChatGPT:DevSecOps 落地实践的最后一公里

极狐GitLab

DevOps 云原生 Code Review DevSecOps ChatGPT

行业分析| 快对讲-融合会议的应用

anyRTC开发者

音视频 视频会议 快对讲 融合会议 电话会议

架构实战-毕业设计

程序员小张

「架构实战营」

实践「容器镜像扫描」,Get 云原生应用的正确打开方式

极狐GitLab

Docker DevOps 云原生 DevSecOps 容器镜像

SRE方法论之拥抱风险

不思jo

#运维

让算力不再成为瓶颈,小红书机器学习异构硬件推理优化之道

小红书技术REDtech

机器学习 架构 异构计算

融云跨平台 SDK 自动生成技术的探索和实践

融云 RongCloud

sdk 融云 办公效率 通讯 图片资源

火山引擎DataTester分享:A/B实验中常见的8个错误

字节跳动数据平台

如何用一行代码实现监测 OpenAI,大幅提升使用体验

Yestodorrow

可观测性 用户体验 应用性能 ChatGPT

inBuilder低代码平台开发者分享课丨提交PR的正确姿势

inBuilder低代码平台

腾讯安全携手行业伙伴,详解攻击面管理(ASM)技术的“拓客”潜力

极客天地

基于HTML5智慧产业园三维可视化运维平台

2D3D前端可视化开发

物联网 数字孪生 三维可视化 工业组态 智慧产业园区

ChatGPT到来个人如何应对

程序员半支烟

人工智能 职业成长

教你使用Feign替换RestTemplate

量化交易系统开发——现货策略

薇電13242772558

量化策略

软件测试丨Python学习笔记之内置库科学计算、日期与时间处理

测试人

Python 软件测试 测试开发

保密+完整+可用+安全,规避代码安全「马奇诺防线」,构建软件供应链整体安全

极狐GitLab

高可用 DevSecOps geo 代码安全 软件供应链安全

在研制带处理器的电子产品时,如何提高抗干扰能力和电磁兼容性?

华秋PCB

电磁 电路 处理器 控制器 抗干扰

火山引擎DataLeap:3步打造“指标管理”体系,幸福里数据中心是这么做的

字节跳动数据平台

大数据 字节跳动 数据管理 指标管理 数据研发

【换模型更简单】如何用 Serverless 一键部署 Stable Diffusion?

Serverless Devs

云计算 Serverless AIGC

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