QClub 太原,2014年11月15日 活动回顾
是一个全球性的编程练习活动,时间是11月15日,QClub太原又一次参加了这个活动。
什么是CodeRetreat? CodeRetreat是一个一天的集中练习的活动,专注于软件开发和设计的基础。通过给开发人员提供专注练习的机会并远离完成工作的压力,CodeRetreat这种形式已被证明是提升编程技能的有效方法。通过练习模块化和面向对象的基本原则,开发人员可以提高他们编写代码的能力并使变更成本最小化。
活动持续一整天,早晨9点开始,大约有12个人到场,有经常参加的热心人,也有第一次过来的新人,主持人是柴锋同学。
上午花了一些时间讲解了一下单元测试的含义,并通过一个简单的例子:“分解质因数”来熟悉测试驱动开发。
中午少时休息正式开始。
这个细胞的世界是由“二维数组”组成的世界,玩家扮演的是世界之外的“上帝”,数组每个元素都视为一个“细胞”,它有两个状态:生存和死亡。每个细胞与以自身为中心的周围八格细胞产生互动。对于任意细胞,规则如下:
- 当前细胞为存活状态时,当周围低于2个(不包含2个)存活细胞时, 该细胞变成死亡状态(模拟生命数量稀少);
- 当前细胞为存活状态时,当周围有2个或3个存活细胞时, 该细胞保持原样;
- 当前细胞为存活状态时,当周围有3个以上的存活细胞时,该细胞变成死亡状态(模拟生命数量过多);
- 当前细胞为死亡状态时,当周围有3个存活细胞时,该细胞变成存活状态(模拟繁殖);
可以把最初的细胞结构定义为种子,当所有在种子中的细胞同时被以上规则处理后, 可以得到第一代细胞图。按规则继续处理当前的细胞图,可以得到下一代的细胞图,周而复始。
第一轮两人一组,有用HTML、C、JAVA的,在短短的45分钟内都没有写完。
第二轮换人重新写,增加要求只使用命令行和记事本编辑,大家的效率顿时下降,但仍比第一轮走的远。
第三轮再换人,这次要求“尽量不用鼠标”,凭借着前两次的熟练有一组在要求的时间内完成了任务。
最后剩余时间不多,在一起做了一些总结分析,并观看了一些软件开发活动中的实践视频。