为什么要练习编码套路(Code Kata)?

code kata image
code kata image

背景

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

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

维基百科介绍:

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

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

武术套路图

对编码套路的态度

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

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

练习的重要性

练习,作为一种学习方法是适用各个领域的,不仅仅限于武术,还包括弹奏乐器、提升体育竞技水平、准备演讲和提升对语法和书写的掌握。业界知名程序员、《程序员的呐喊》的作者Steve Yegge,就曾经在一篇文章中提到了练习(锻炼)的重要性。

我认识很多杰出的程序员——这是在亚马逊工作最好的额外“福利”之一。如果仔细观察他们,你会发现他们时时都在锻炼。他们已经很优秀了,但他们仍然不忘锻炼。他们锻炼的方法林林总总,而我在这篇文章中只会介绍其中的几种。据我了解,这些杰出程序员之所以如此成功,就是因为他们一直在锻炼。完美的身材要靠定期的锻炼才能获得,而且必须坚持锻炼才能保持,否则身材就会走形。对于编程和软件工程来说,道理是一样的。

如何练习编码套路

Dave Thomas认为可以将套路作为学习编程的一种技巧。方法很简单:每一个编码套路,都是一个简单的编码难题,容易解决,可以让练习者不断的尝试,直到完美。这样做的目的,就是帮助练习者每一次都能够找到更好的解决方法。练习者甚至可以对套路定下各种限制,比如说要使用一种自己不常用的语言。

帮助编程学习者进行套路练习的网站有很多。知道这类编程练习网站之后,我做了一些搜索,收藏了一些国外程序员推荐的站点,在这里推荐给大家。

练习编码套路,贵在坚持、专注。当然,练习到了一定的水平之后,确实再做一些简单的题目,很难有较大的提高。建议高水平的朋友,往人工智能、大数据、自然语言处理这些高阶话题练习。

编程派会怎么做

我还是一个初学者,所以我会继续坚持做编码套路练习。每一个我觉得有一定难度、可以延伸的套路,我都会详细记录下我的解法,或者找到网络上更好的解法,与大家分享,一同学习编程,一起进步,争取能够成为黑段高手。这也是我在个人站点开设练习板块的初衷。

武术高手
武术高手

参考资料

  1. http://www.sitepoint.com/code-kata/
  2. http://blog.csdn.net/happydeer/article/details/17023229
  3. https://hackhands.com/dont-code-katas/
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容