推荐理由

>我是最近半年多才开始接触编码套路(Code Kata)这种练习编程的方法,做练习比较多的网站是codewars,比codeforces、SPOJ这些上线的应该要晚很多,但是总体觉得体验更好。前不久在sitepoint网站看到了专门介绍Code Kata的文章,觉得很好,所以在网上又搜索些资料,根据几篇博文最后综合整理成了现在这篇文章,希望能够让大家对编程套路这个概念有个基本的了解。

内容摘要

code kata image

背景

编码套路(Code Kata)这个概念是《程序员修炼之道:从小工到专家》的作者之一Dave Thomas提出的。Ruby开始盛行的时候,Dave也成为了该语言的最重要的传播者之一。那时他写了很多关于Ruby和Rails起源的哲学和市场语境的文章。他也因此学习了很多敏捷方法和概念。正是在这种背景下,Dave提出了编码套路的代码学习技巧,并开始推广。

这个概念主要指的是,针对某一种特定技术或技能进行重复性的练习,从而将其熟练掌握。套路(Kata)这个概念借鉴于武术,指的是可以独自或多人共同练习的一系列动作、招式。当然,这个词还可以用来描述武术中的其他动作,比如高度模拟实战的练习等。

维基百科介绍:
> 起初,套路是教授和练习武术的方法,通过这种途径得以保存和传承许多成功的战斗技巧。练习套路,可以让一组人通过系统的方式,而不是单人、无序的方式,进行艰苦的武术训练。

武术中使用套路(Kata)的主要目的,在于传递行之有效的技巧,并且重复地训练。这可以让学习者练成条件反射式地、自然而然地做出这些动作。而要达到这个目的,关键不在于系统地练习,而是将动作和技巧内化,做到根据不同的需要进行变化。

武术套路图

对编码套路的态度

关于用这个方法来练习编程技巧,人们对此有三种看法:鄙视,中立,赞成欣赏。中立的人群认为并不能从这种反复编写同样一个问题的方法中学到什么,鄙视这种方法的人们也这么认为,不过反对的程度更深。剩下来的便是欣赏这种方法的人了,他们认为反复编写同一个问题,或者编写很多小的代码程序例子,是有一定用处的。

我也赞成这种方法。我从去年开始断断续续学习编程,中间犯的一个错误就是练习少,没有及早的认识到这是一门要在“干中学”的学科。第一次了解编码套路,还是在codewars网站,而接触这种技巧的时候,我已经磕磕碰碰学习编程有大半年的时间了。

阅读原文 »

1 1 收藏


直接登录

推荐关注