编程操练 Coding Dojo 和 Cyber Dojo 说明

Coding Dojo是一个集体学习活动。一些程序员(通常是15-20人)在一起编程解决一个程序问题。一边编程,一边互相学习。

每个人可以从Coding Dojo中学到:解决问题的思路、编程技巧、面向对象设计、演进式设计、结对编程、测试驱动开发、持续集成等等。

即使从别人犯的错误中,我们也能够学到很多。

+编程道场之前:
1)编程道场之前,先联系场地赞助方,确定好时间、地点、带有投影仪的能容20人的办公室;
2)发布并推广活动报名信息,推荐使用微信公众号来发布,请参加者们加组织者的微信,建微信群,更加方便互动;
3)确定一位联系人的电话,为找不到活动地点的参加者提供方便;
4)活动需要操练的Kata自己最好能操练熟练,为引导参加者做准备;
5)在自己的电脑上安装Cyber-dojo私服,供参加者使用,可以带一个无线路由器以备场地wifi不给力;
6)用挂纸写出Kata内容,以便参加者编程时参考;
7)提前30分钟到场做准备,贴挂纸,测试网络;
8)准备一些报事贴和白板笔,供最后回顾时使用;
9)可带一个激光笔备用。

+编程道场期间:
1)请大家自我介绍;
2)介绍Kata;
3)参加者报数分组,结对编程用Cyber-dojo编写kata,组织者此时可以拍照以便写回顾文章;
4)用Cyber-dojo来分享与讲解参加者的代码;
5)参加者重新报数分组,结对编程用Cyber-dojo重新编写kata;
6)用Cyber-dojo来分享与讲解参加者的代码;
7)回顾:参加者各自在报事贴上写“本次活动的收获”、“本次活动需要改进的地方”、“疑问”,然后分类贴在墙上,组织者在各位参加者面前朗读报事贴上的内容,必要时请写报事贴的人解释一下,进行回顾;
8)大家鼓掌感谢场地赞助方,场地赞助方此时可以植入一些简短的广告。

how do I use cyber-dojo?
blog.cyber-dojo.org: how do I use cyber-dojo?

cyber-dojo is designed to be used as follows:

1. creating your cyber-dojo

  • from the home page one person…
  • click setup a default practice
  • click your chosen language
  • click your chosen test-framework
  • click next
  • click your chosen exercise
  • if you’re practicing alone, click set it up & start programming. A dialog displays your animal (e.g. dolphin). Click ok.
  • if you’re practicing in a group, click set it up & show the hex-id. A dialog displays your cyber-dojo’s id, e.g., 3AF65A

2. entering your cyber-dojo

if you’re practicing in a group each pair now enters your cyber-dojo. Each pair, from the home page…

  • click enter a practice
  • type in the cyber-dojo’s id, e.g., 3AF65A
  • click start programming
  • a dialog displays the animal (e.g. panda) assigned to the pair.
  • click ok
  • each pair is now in their own test environment

3. programming inside your cyber-dojo

from their test environment everyone programs for a fixed amount of time e.g., 45 minutes

  • write tests, click test to see if they fail
  • write code, click test to see if they pass
  • each testclick creates a new traffic-light :
  • red if one or more tests failed
  • amber if the tests could not be run (eg syntax error)
  • green if all the tests passed
  • remember, cyber-dojo is not a personal development environment
  • remember, cyber-dojo is a shared learning environment
  • the aim is not to finish, the aim is to improve
  • when time is up everyone stops programming

4. reviewing your cyber-dojo

from the home page one person connects their computer to a projector and…

  • clicks review a practice
  • types in the cyber-dojo’s id, e.g., 3AF65A
  • clicks open a dashboard to open the dashboard displaying all the animals and their traffic-lights
  • clicks any animal’s traffic-light and steps through their history
  • everyone chooses what to focus on improving in the next iteration