Changes between Version 2 and Version 3 of codekata


Ignore:
Timestamp:
05/20/2013 11:41:48 AM (13 years ago)
Author:
lifeng
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • codekata

    v2 v3  
    1 = 2013-05-10日,2013-05-17日 Code Kata活动 = 
    2 为了提高论坛组developer的开发热情,提升developer的开发能力,增强developer协作与沟通能力,论坛组manager李峰,组织了一次Code Kata活动。题目由组员各自挑选一个,挑选之后汇总[[BR]] 
    3 最后由大家无记名投票的方式选举出一个题目,由丁健勇贡献的题目贴近生活,有趣味,难度适中。最后以较高票数中标。题目如下:[[BR]] 
     1= 什么是Code Kata = 
     2Kata源自日语的招式,也是目前敏捷工程实践中比较热门的词汇,Code Kata是由Dave Thomas提出的。具体介绍可以[http://codekata.pragprog.com/ 猛击这里]。 
     3Coding Dojo和Code Kata都是通过实际的编程练习来提升敏捷开发的技能。 
     4它是一个学习的过程。一些程序员(通常是15-20人)在一起编程解决一个程序问题。一边编程,一边互相学习。每个人可以从中学到:解决问题的思路、编程技巧、面向对象设计、演进式设计、结对编程、测试驱动开发、持续集成等等。其实即使从别人犯的错误中,我们也能够学到很多。 
     5 
     6= 组织形式 = 
     7一个会议室中有一台电脑、一台投影仪、椅子若干。[[BR]] 
     8在会议室中间有两个人结对编程,一个是驾驶员(Pilot),另一个是领航员(Co-pilot, Navigator)。周围坐的都是顾问(Advisor, Sensei),前面是投影仪。 
     9* 驾驶员(Pilot):负责具体实现,边写代码,边要把自己的设计意图大声说出来 
     10* 领航员(Co-pilot):负责帮助驾驶员进行设计,负责控制设计的战略方向 
     11* 顾问(Advisor):坐在周围,通过投影仪观察当前的进展,可以提出问题,但是不能给出方案。驾驶员与领航员必须先回答顾问的所有问题,才能继续写代码。 
     12 
     13每次结对时间为 7 分钟,时间到后领航员轮换成驾驶员,驾驶员下去当顾问,一名顾问轮换为领航员,以此循环。[[BR]] 
     14 
     15一些原则 
     16* 不要讨论太多,先写代码 
     17* 写代码之前,先写测试 
     18* 每个人都能从其他人身上学到东西,哪怕是错误 
     19* 所有人参与写代码 
     20* 如果你知道好的方案,分享给大家 
     21* 顾问只能问问题,不能提方案,驾驶员和导航员必须回答所有问题 
     22 
     23= 2013-05-10 && 2013-05-17 活动 = 
     24为了减少对工作的影响,每周活动安排在周五下午,每次活动时间控制为2小时。 
     25题目由参与同事各自出一个,之后汇总由大家以无记名投票的方式选举出一个。本次丁健勇贡献的题目贴近生活,有趣味,难度适中。最后以较高票数中标。题目如下:[[BR]] 
    426 
    527{{{ 
    6 饭堂排队吃饭。 
    728  
    8 饭堂排队吃饭,有11元,13元,15元3个窗口。 
     29公司饭堂排队吃饭,有11元,13元,15元3个窗口。 
    930  
    10 公司有500人就餐,其中280人第一选择是11元窗口,150人第一选择是13元窗口,70人第一选择是10元窗口。 
     31固定有500人就餐,其中280人第一选择是11元窗口,150人第一选择是13元窗口,70人第一选择是15元窗口。 
    1132  
    12 假设每分钟11元窗口可打饭3人,13元窗口可打饭2人,15元窗口可打饭1人,每分钟有10名员工依次进场。 
     33每分钟11元窗口可打饭3人,13元窗口可打饭2人,15元窗口可打饭1人,每分钟有10名员工依次进场。 
    1334  
    1435由于人的排队耐心有限,所以假如11元窗口的队伍人数大于50人时,员工会选择13元窗口,当13元窗口的队伍人数大于30人时,员工会选择15元窗口, 
    1536当15元窗口人数大于15人时,员工则不会再等待,直接出外就餐。 
    1637  
    17 求出饭堂的营业额。 
     38求出饭堂一天的营业额。 
    1839}}} 
    1940 
    20 Code Kata要求大家用测试驱动开发的模式来完成题目,最后依靠小组成员非凡的智慧与良好的职业素质,最后成功地完成了这一次Code Kata活动。 
     41依靠小组成员的集体智慧与优秀的团队合作精神,经过2周的时间,成功地完成了这一题目。 
     42 
    2143[[BR]] 
    2244测试代码如下: 
    2345{{{ 
    24 /* 
    25  * To change this template, choose Tools | Templates 
    26  * and open the template in the editor. 
    27  */ 
    2846package lunch; 
    2947 
     
    296314源代码如下: 
    297315{{{ 
    298 /* 
    299  * To change this template, choose Tools | Templates 
    300  * and open the template in the editor. 
    301  */ 
    302316package lunch; 
    303317 
     
    463477比如说,开始活动之前,王安宁就发现题目本身存在一些设计不合理的地方,后来经过讨论修改,敲订题目。[[BR]] 
    464478 
    465 秦鸿源在大家在陷入过度设计陷井的时候,站出来,提出分解问题,各个击破的方案,让大家思路更清晰,更有条理.[[BR]] 
    466  
    467 陈阳提出使用队列比使用数组更适合解决打饭排队问题,丁健勇与邝巨桓,在小组成编码过程中给过很多非常不错的经验与建议,[[BR]] 
     479秦鸿源在大家在陷入过度设计陷井的时候,站出来,提出分解问题,各个击破的方案,让大家思路更清晰,更有条理。[[BR]] 
     480 
     481陈阳提出使用队列比使用数组更适合解决打饭排队问题,丁健勇与邝巨桓,在小组成编码过程中给过很多非常不错的经验与建议。[[BR]] 
     482 
     483新入职的黄志强和李炳岳,也作为顾问全程参与了活动,虽然没有直接参与编码,但也从中学习到了不少知识。[[BR]] 
    468484 
    469485活动之中还有很多精彩的细节... 
     486 
     487欢迎其他组有兴趣的同事加入:)