CoC: Context over Code, Coaching Pattern Series

Code is cheap, show me the talk. -- from 力岩.


模式名称

  • CoC, Context over Code

意图

  • 通过讲解背景问题和历史, 而不是目前的方案, 使新人(新换入的pair)更快速和透彻的理解目前的代码

动机

当新人加入项目开始Pair, 或者交换Pair后, 留守Feature的人要负责向新Pair讲解目前的设计和代码. 而一个坏味道是, 留守的人往往急于开始编码, 草草带着新人过一遍代码就开始新任务了. 我们可以使用Navigator/Observer的结对模式来降低新人写代码的难度, 可新人对于代码的粗浅的理解, 长久的困惑, 始终会影响着效率以及设计质量. 这个影响在以下情况下会更明显:

  • 软件功能越来越强大, 内置的业务逻辑/corner case越来越多, 而现有代码的表达能力无法使高层的需求直接映射到底层实现上, 即从代码中难以看出"为什么这么做"的意图
  • 在两个相对独立的Feature Team中交换pair时
  • 新人刚加入项目组开始编码时

这时, 我们需要更好的coaching的技巧

方案

穿透历史的迷雾才能看清现状. 而在描述历史方面, 自然语言比编程语言和版本控制系统的log更为高效, 故事比代码更新引人.

讲讲之前的故事, 讲讲面临的约束和众多的可选方案, 代码中只有最后的设计决定, 而没有当时面临的设计约束. 把五分钟的介绍扩展成半个小时的聊天, 来龙去脉都讲一下. 可以问新人问题, 当碰到这种约束时你会怎么做? 你这么做了又引入了别的问题, 然后怎么改进? 引导新人自己推导出当前的设计, 这样自然就解决了理解问题.

已知应用

相信很多Team都在用. 在做CWP IAS Plaform时, 我们花在讲解Context上的时间大约占整个开发过程的1/4到1/3.

相关模式

  • SoS, Story over Solution. 该模式同样强调讲故事, 不过其意图是降低Team成员对一些新的改变的抵触情绪, 引导他人接受改变
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值