这个星期在团队里面搞了一次Coding Dojo,每个人都从中学到了很多东西,效果十分不错,因此我想分享一下。
什么是Coding Dojo?
Coding
Dojo是一个学习的过程。一些程序员(通常是15-20人)在一起编程解决一个程序问题。一边编程,一边互相学习。每个人可以从Coding
Dojo中学到:解决问题的思路、编程技巧、面向对象设计、演进式设计、结对编程、测试驱动开发、持续集成等等。其实即使从别人犯的错误中,我们也能够学
到很多。
组织
一周以前组织者会发出邀请,同时给出所要解决的问题(比如我们这次决定实现一个JSon Parser)。以下是我们的议程:
- Coding Dojo以及原则介绍 - 5分钟
- 问题介绍 - 10分钟
- 2个时段的结对编程 – 20分钟 × 2
- 中断(所有人一起讨论一下当前的解决方案,以及下一步方案,注意事项)- 10分钟
- 2个时段的结对编程 – 20分钟 × 2
- 反省 - 10分钟
会议室组织方式
在会议室中间有两个人结对编程,一个是驾驶员(Pilot),另一个是领航员(Co-pilot, Navigator)。周围坐的都是顾问(Advisor, Sensei),前面是投影仪。
Coding Dojo中的角色
教练(coach)帮助维护秩序,引导大家
驾驶员(Pilot):负责具体实现,边写代码,边要把自己的设计意图大声说出来
领航员(Co-pilot):负责帮助驾驶员进行设计,负责控制设计的战略方向
顾问(Advisor):坐在周围,通过投影仪观察当前的进展,可以提出问题,但是不能给出方案。驾驶员与领航员必须先回答顾问的所有问题,才能继续写代码。
一些原则
- 不要讨论太多,先写代码
- 写代码之前,先写测试
- 每个人都能从其他人身上学到东西,哪怕是错误
- 所有人参与写代码
- 如果你知道好的方案,分享给大家
- 顾问只能问问题,不能提方案,驾驶员和导航员必须回答所有问题
我们的Retrospective
- 导航员应该更多帮助驾驶员
- 在同一个时段内导航员和驾驶员应该多切换,当然另一个方案是每次替换结对的时候,替换导航员,然后让原来的驾驶员成为导航员引导下一个驾驶员
- 顾问应该保持耐心,减少对驾驶员和导航员的干扰
- 减少私下讨论
- 驾驶员应该大声把设计意图说给大家听
- 实现的Test Case应该事先明确
- 每个人应该尊重驾驶员和导航员,虚心学习
- 使用代码库
- 频繁签入代码
- 重构不够
- 每个人做驾驶员的时候使用自己的环境,使用熟悉的工具。其他人也可以学习他的技巧以及工具
- 重构的时候,跳跃太大
- 使用标准键盘
- 更多的面向对象设计
- 使用Pomodomo作为时间箱,但是使用一个Range(20分钟 +/- 五分钟)而不是一个点
- 鼓励每个人参与
- 教练确保会议秩序
- 替换结对的时候确保所有的测试通过。
引用:http://www.cnblogs.com/tengzy/archive/2010/06/02/1750281.html
分享到:
相关推荐
在本书中,“编程道场”(Coding Dojo)被定义为一个特殊的空间,在这个空间里,好程序员可以变成伟大的程序员。编程道场不仅为程序员提供了一个共同学习和实践编程技能的平台,而且也鼓励了一种通过游戏化练习来提升...
yourturn — Coding Dojo 会议的倒计时 这个项目是一个典型的 Coding Dojo 会议的倒计时 Web 应用程序 ( )。如何贡献要开始使用,您可以简单地克隆 yourturn 存储库并安装依赖项:先决条件您需要 git 来克隆 your...
【标题】"CodingDojoDPA:我们在 DPA 的 Coding Dojo 会议中的代码" 提供了一个关于编程实践和团队协作的场景。Coding Dojo 是一种流行的学习和提高编程技能的活动,通常由一组程序员参与,他们共同解决一个特定的...
"Talento Digital --- Plataforma Coding Dojo" 提供了一个专为有志于成为Web开发人员的学习者设计的训练营平台。这个平台专注于通过一系列的练习和挑战来提升编程技能,尤其在HTML方面。HTML(HyperText Markup ...
【标题】"Coding-Dojo-Android---13-de-maio-de-2015:2015 年 5 月 13 日没有使用 Android Coding Dojo 的代码" 描述了一个编程活动,这是一个针对 Android 开发者的 Coding Dojo 事件,该活动在 2015 年 5 月 13 日...
【标题】:“Coding Dojo的JavaScript编程练习” 这个标题揭示了这是一个关于JavaScript编程的实践项目,源自名为“Coding Dojo”的编程训练营或学习资源。Coding Dojo通常提供一系列编程挑战和项目,帮助学员掌握...
编码React 对Coding Dojo MERN训练营的React练习
"编程道场"(Coding Dojo)是一个深受开发者欢迎的在线学习平台,特别适合那些希望投身于网络开发领域的人。它提供了丰富的练习和挑战,帮助用户通过实际操作来提升自己的技能,从而逐步成长为一名合格的Web开发人员...
"codingdojojquery"是专门为Coding Dojo的MERN Bootcamp设计的一系列jQuery练习,旨在提升学员们的实战技能。 1. **jQuery基础** - **选择器**:jQuery提供了一系列强大的选择器,如ID选择器(#id),类选择器(....
在本课程“ppc: PPC HTMLCSS Build for Coding Dojo 的 CS 101 CSS 课程(高级)”中,我们将深入探讨高级CSS技术,这些技术对于构建响应式、高效且具有吸引力的网页至关重要。虽然标题提及的是PPC,但根据标签...
在这个项目中,"mern-stack-assignments-react" 是针对 Coding Dojo 的一个课程,专门关注React部分,它是MERN堆栈的前端部分。 **React基础知识** React是Facebook开发的一个开源JavaScript库,用于构建用户界面...
操场========== RoRLab第4季的游乐场(aka Coding Dojo)。规则========== 配对编码。 配对编码时,请确保交替进行编码。 5-10分钟内将其更换。 TDD。 请参阅和。 (可以通过克隆使用)
编码道场 Katas 这是一组旨在用于练习某些编码能力的 kata。 既有用于重构或分析的现有代码的 katas,也有必须从头开始使用一组现有测试的 katas。 每个 kata 都有一个简短的介绍脚本正在做什么或应该做什么。...
编码Dojo算法 先决条件 必须安装节点和npm 要检查安装,请打开终端并输入node -v 。 如果看到节点版本号,那就很好了! 与npm相同! 使用npm -v检查。 用法 使用firstname-lastname.js命名约定将您自己的函数添加...
编码 Dojo Cdiscount 2 以下是在Cdiscount 中执行的第二个编码 dojo 的来源。 指示 您将首先找到能够启动项目的说明,然后是运行测试的说明。 顾客 安装 安装前端包npm install -g bower : npm install -g bower ...
Kata - 编码道场目标重点是练习编写我们可能编写的最佳代码并挑战自己。 值得一提的是,我们的目标不是尽快完成练习,而是通过与合作伙伴的讨论在此过程中学习。要求每个开发人员都必须带着他们最喜欢的 IDE 准备好...
来源 所有学分归作者所有: 和 。 该研讨会在会议上举行,并在马德里作为再次举行。 描述 原来的 ) 幻灯片转录(西班牙语) 限制 做最简单的事情。 尽可能写出最好的代码。...使用到目前为止编写的代
在编程世界中,"Coding Dojo" 是一种流行的练习技巧,它通过集体参与解决特定的编程挑战来提升技能。在这个名为 "coding_dojo_assignment" 的项目中,我们可以推测这是一个使用 Python 语言进行的编程练习任务。这个...
这是2016年7月19日在Infi举行的Coding Dojo的基本Xamarin解决方案。该解决方案包含一组基本类,用于构建简单的Xamarin应用程序。 测验API的外观已可实现,用于检索测验问题和检查答案。 带有Xamarin的Visual Studio...