写点什么

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

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

评论

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

SVN管理工具Cornerstone入门教程

Rose

cornerstone 4破解 SVN管理 Cornerstone教程 Mac版Cornerstone许可证

PullTube for Mac使用技巧:快速导出铃声、缩略图和短片

Rose

Mac视频下载器 PullTube下载 PullTube使用教程

GitHub项目免费教你提示工程,全中文教学,小白也能懂

Openlab_cosmoplat

人工智能 GitHub 开源社区

一个同事喜欢查别人的BUG,截图发工作大群,还喜欢甩锅怎么办?

Java你猿哥

Java 程序员 ssm 编码 java编程

日常开发中,程序员如何提升技术?这13个点一定要做到!

程序员小毕

Java 程序员 程序人生 后端 架构师

CrossOver 让你在Mac上轻松运行 PC 游戏

Rose

虚拟机 CrossOver2023 Mac电脑运行win CrossOver Mac下载

涅槃重生,BitKeep如何闯出千万用户新起点

鳄鱼视界

揭秘RLHF;可商用开源LLM列表;领域编译器的前世今生

OneFlow

人工智能 深度学习 RLHF

清华大佬首推"中高级Java程序员进阶小册",程序员架构进阶必备

Java你猿哥

Java 算法 Spring Boot JVM java面试

ZBrush 2023 v2023.1.1最新激活版下载 三维数字雕刻和绘画

Rose

ZBrush 2023安装教程 ZBrush 2023下载地址 ZBrush 2023破解版 角色建模 特效制作

涨薪40K!来自阿里内部绝学的“微服务架构手册”

Java你猿哥

架构 微服务 微服务架构 ssm 架构师

阿里技术总监纯手打的内部手册《MySQL笔记》真是太硬核了

做梦都在改BUG

Java MySQL 数据库

阿里P8级架构师十年心血终成Java核心精讲与网络协议文档;

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

日常开发中,程序员如何提升技术?这13个点一定要做到!

Java你猿哥

Java ssm java基础 日常开发 java 编程

MySQL触发器Trigger加载以及目前局限

GreatSQL

MySQL greatsql greatsql社区

Git 代码分支管理 | 京东云技术团队

京东科技开发者

git 京东云 企业号 5 月 PK 榜

小白白也能学会的 PyQt 教程 —— 自定义组件 Switch Button

繁依Fanyi

新能源汽车品牌加速出海 赛力斯“硬实力”助力全球化布局

科技热闻

探究 JavaScript 前端热点面试题(三):让你在面试中游刃有余!

Immerse

B 站构建实时数据湖的探索和实践

Apache Flink

大数据 flink 实时计算

开发者反响热烈,阿里云免费试用产品增至 80 多款!

云布道师

阿里云

SecureCRT中文乱码怎么办?解决 SecureCRT中文乱码方法

Rose

SecureCRT下载 SecureCRT激活版 SecureCRT许可证 SecureCRT中文乱码

IDP 与 DevOps平台:相似之处与关键差异

SEAL安全

IdP 平台工程 内部开发者平台

记录内网Docker启动Stable-Diffusion遇到的几个坑

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜

AIGC背后的技术分析 | 基于规则产生式的推理

TiAmo

推理 AIGC 规则产生

吃透这份406页的Java修炼宝典,直接送你进入一线大厂

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

NineData:高效高质量的Redis可视化管理工具

NineData

数据库 redis 开发工具 Redis 可视化工具 NineData

基于云原生的物联大数据智能服务

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

大数据拥抱云原生 HashData助力资管数字化转型

酷克数据HashData

魔改xxl-job,彻底告别手动配置任务!

Java你猿哥

Java 分布式 定时任务 ssm Job

关于接口可维护性的一些建议 | 京东云技术团队

京东科技开发者

京东云 接口设计 企业号 5 月 PK 榜

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