当前位置:主页 > 文章技巧
通过Kata提升技能
日期:2017-09-14 浏览量:

有人做过一个实验,把几只猫养在暗室中,每天只有一小段时间开灯,有一个旋转装置,一组猫开灯时可以上去玩,而另一组却只通过一个洞看到完全相同的景象。实验结束时,后面一组猫都得了功能性失明。

这个结果使我大吃一惊。如果只有书本知识,那我也会是功能上的瞎子。只有大量编码才能从自发水平上真正获得知识。

第一次“路数练习”

Kata(路数练习)的思想就是通过反复练习来实践编码,在不断使用各种技能的过程中形成肌肉记忆。练过一些简单的程序之后,我想做点内容更充实的东西。于是想到了通 过Kata实现“井子棋”。我的目标是在1小时内实现它。为此,我还用Screenflow来记录自己的进步。

我用自己熟悉的Ruby开发了第1版,测试框架用了不太熟悉的RSpec。

最开始我的时间大多花在测试环境的搭建上,每次走不下去就上网搜索。而到了第2版,进步就很明显了。第6遍,终于在1小时之内完成了游戏。

Kata从很多方面改善了我的工作流程,比如编写测试、处理错误甚至编辑器的使用。另外,熟能生巧,一些之前未想过的语言技巧也是在熟练中获得了。

用Kata学习新语言

如果换一门语言呢?我想试试Haskell。

第一步是读教程,我花了几天时间通读了《Learn You a Haskell》。这个时候,我应该就像那些只看不玩的猫,得跟语言交互才行。

我理解算法,也知道哪些过程要实现,于是唯一的障碍是语言。此时,Kata提供了一种可控的环境,使我能够专注;而视频记录则提供了一种方式,使我能反思遇到的问题。

测试环境搭好之后,语法成了主要问题。每次写点东西就出错,总要追到最简单的形式才正确。一个小时只完成一个构造函数。我现在坚持每次Kata一小时,不论完成与否。理论上,每次我至少可以走到跟上次一样的地方。

初学新语言时,会担心一不留神学到的知识就溜走。第2遍Kata时,我的这种感觉就没有了。到第3遍时,效率大大提升,不再犹豫、搜索,犯的错误也跟之前不同了。到第10遍时,终于又在1小时内实现“井子棋”!

作者Chong Kim,本文作者是一位热爱编程、数学和棋类游戏的软件工匠。拥有15个GitHub软件仓库,主要基于Ruby、Clojure和JavaScript。

本文为《程序员》编译整理,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)

    相关文章:
    ·水果别买PLU编码8开头的 买进口食品这些技巧要掌
    ·怎样导出高清视频 Xvid编码设置教程
    ·Win10卸载软件Skype错误代码2503的解决技巧
    ·调查显示美国半数高薪工作需要拥有的一种技能
    ·对建设项目投资项(或者成本项)信息进行编码
    → 特别推荐
    水果别买PLU编码8开头
    怎样导出高清视频
    Win10卸载软件Skype错误
    调查显示美国半数高
    对建设项目投资项(
    Docker社区核心成员D
    《智能电视娱乐操控
    栅格结构数据获取的
    Css技巧:模块化编码
    探秘最强大脑速成法
    逆回购操作方法与技
    矢量数据结构的编码
    ffmpeg与H264编码 使用技
    MYSQL数据库设计的一些
    详解VB.NET动态编码技
    → 热点TOP10
    [技巧]神秘代码
    黑客技巧--深入
    拉菲最新防伪
    《纽约时报》
    免费QQ空间五级
    孙杨200米自由
    观点有关硕士
    总结ERP之供应
    [技巧] 如何在
    基于TMS320DM37

    友情链接/网站合作咨询: