当前位置:编程学习 > 网站相关 >>

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成员对一些新的改变的抵触情绪, 引导他人接受改变

补充:综合编程 , 其他综合 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,