我是最近半年多才开始接触编码套路( Code Kata )这种练习编程的方法,做练习比较多的网站是 codewars ,比 codeforces 、 SPOJ 这些上线的应该要晚很多,但是总体觉得体验更好。前不久在 sitepoint 网站看到了专门介绍 Code Kata 的文章,觉得很好,所以在网上又搜索些资料,根据几篇博文最后综合整理成了现在这篇文章,希望能够让大家对编程套路这个概念有个基本的了解。
编码套路( Code Kata )这个概念是《程序员修炼之道:从小工到专家》的作者之一 Dave Thomas 提出的。 Ruby 开始盛行的时候, Dave 也成为了该语言的最重要的传播者之一。那时他写了很多关于 Ruby 和 Rails 起源的哲学和市场语境的文章。他也因此学习了很多敏捷方法和概念。正是在这种背景下, Dave 提出了编码套路的代码学习技巧,并开始推广。
这个概念主要指的是,针对某一种特定技术或技能进行重复性的练习,从而将其熟练掌握。套路(Kata)这个概念借鉴于武术,指的是可以独自或多人共同练习的一系列动作、招式。当然,这个词还可以用来描述武术中的其他动作,比如高度模拟实战的练习等。