Kata

[视频]质因数 Ruby版

这次Kata练习做的是求质因数,这个练习比较简单,适合初学TDD的同学练习。在给刚接触TDD的同学介绍TDD的时候,我比较喜欢用这个练习,可以给大家展示TDD的效果,帮助大家建立TDD的信心。 但是这次练习只是给大家做个演示,这种TDD的做法做的比较顺畅其实是一个巧合。解题思路完全是被case牵着走,在别的情况下前进是十分艰难的。解题之前需要对问题有比较深的认识,自己设计一步一步的case,知道case能把我们带向哪里,逐步向目标前进。 今天的这个视频过程十分的坎坷...各种手误,还不小心关了编辑器。根据上次的反馈,这次我增加了些解说,整个过程有些刻意放慢,时间拖到了20多分钟。其实这个练习大家自己做的时候也就10多分钟。 上次使用ScreenFlow自带的快捷键显示工具,感觉显示了很多多余的按键操作,这次使用了另外一个开源工具:KeyCastr。 使用的工具: Ruby 1.9.3 RSpec

C#

[视频]Kata接力 - 罗马数字

上次在Global Day of Code Retreat上,和Joseph@姚若舟提了Kata接力的想法,Joseph去做了个Java版的罗马数字http://www.tudou.com/programs/view/jr-iJXpqIR0。实在不好意思拖了这么长的时间,才花时间做了这个C#版的视频,同样也是罗马数字。 我的想法是罗马数字唯一的逻辑是每一位的数字转称罗马数字并拼接,其它的一律作为字典处理,因为逻辑1到10之间的规律不值得抽出逻辑来,直接字典来的比较直接。由于罗马数字最大也就3999,所以十位,百位,千位也直接用字典了,如果还有更多,那么就该提取逻辑了。 我在实现的过程中,中间有几次打断。转递归的时候卡了一下,其实是这里的重构步子迈的大了些。