CodeKata
http://codekata.pragprog.com/2007/01/code_kata_backg.html#more
背景
你如何成为一个伟大的音乐家?它有助于知道理论,了解仪器的机制。它有助于有才华。但最终,伟大来源于实践,运用理论一遍又一遍,使用反馈每次都变得更好。
你如何成为一名全明星运动的人吗?显然,健身和人才帮助。但是,伟大的运动员,每天花几个小时,练习。
但在软件行业,我们采取培训,在理论和开发商把他们直接到深底,工作的一个项目。这就像服用了一批适合孩子们,告诉他们,他们有四个季度击败红人队(嘿,我们通过管理目标,对吧? ) 。在我们的软件上做的工作我们的执业,这就是为什么我们做的工作失误。我们需要找到从行业分割的实践方式。我们需要练习。
CodeKata :
这一切是怎么开始的说明
MoreKata :
有时候, “卡塔”是不太合适的词;空手道使用其他技术来教了。
卡塔
是什么让一个很好的练习?你需要时间不中断,你想尝试一个简单的事情。你需要,因为它需要尝试,因为很多次,很舒服犯错误。您需要每次都去寻找反馈,这样你就可以改进。需要有没有压力:这就是为什么它是很难在一个项目的环境来练习。它有助于保持它的乐趣:让小步前进时,你可以。最后,你会认识一个很好的练习,因为你会出来它知道更多的时候比你走了进去的
卡塔代码是企图把实践这个元素的软件开发。一对打比赛是练习空手道,你重复的形式很多,很多次,使得每个小的改进。后面的代码对打比赛的目的是相似的。每个人都是一个短的锻炼(可能是30分钟到一个小时之久) 。一些涉及编程,并且可以在许多不同的方式进行编码。有些是开放式的,并涉及想着后面的编程问题。这些都是不太可能有一个正确的答案。我每个星期左右,添加一个新的卡塔。投入一些时间在你的手艺和尝试。
如果你想讨论卡塔,这里有一个邮件列表,在这里一个wiki 。但是,请记住,卡塔的点没有到达一个正确的答案。问题的关键是你前进的道路上学习的东西。
KataOne :超市定价。定价看起来容易,但浅尝辄止,有一些有趣的问题需要考虑。
KataTwo :空手道印章。二进制印章算法是相当枯燥的。直到你有使用五种完全不同的技术来实现它。
KataThree :有多大,有多快?快速估计是无价的,当谈到使设计和实现决策。这里有一些问题让你改过的信封。
KataFour :数据需要改写。实现两个简单的数据提取例程,看看他们有多少共同点。
KataFive :布鲁姆过滤器。实现一个简单的基于哈希查找机制,并探讨其特性。
KataSix :字谜。在字典中找到的所有字谜组合。
KataSeven :检阅。什么是我们的代码看起来像经过挑剔的目光,以及我们如何能够使我们的眼睛更加重要?
KataEight :目标。什么样的影响做我们的目标,对我们编写代码的方式?
KataNine :结帐。回到超市。本周,我们将实现一个结帐系统,处理定价计划,如代码“苹果花费50美分,三个苹果花费1.30美元。 ”
KataTen :哈希与类。是否总是正确的使用(例如)类和对象来构建复杂的业务对象,或夫妇简单的结构(如哈希散列)做的工作?
KataEleven :整理出来。只是因为我们需要梳理的东西并不一定意味着我们需要使用传统的排序算法。
KataTwelve :畅销。考虑的前十大畅销书名单为高容量的网络存储的实现。
KataThirteen :计数线。计算代码行数的Java源并不像它看起来那么简单。
KataFourteen :卦。用卦分析生成文本可以让我们体验不同的启发。
KataFifteen :玩弄位。声东击西,发现在某些比特序列模式。
KataSixteen :业务规则。你怎么能驯服野生(和改变)设定的业务规则?
KataSeventeen :更多的业务规则。指定订单的整体处理的规则可以是复杂的,尤其因为他们往往需要等待周围的事情发生。
KataEighteen :依赖关系。让我们写一些代码来计算的依赖的东西,如类在程序之间如何传播。
KataNineteen :文字链。编写一个程序,解决了字链拼图(猫 - >摇篮 - >点 - >狗) 。
KataTwenty :克朗代克。试验各种启发式玩游戏克朗代克。
KataTwentyOne :简单列表。玩的简单列表不同的实现。
还有的地方(除了在本博客的评论) ,您可以讨论代码卡塔。
第一个是YahooGroups邮件列表,在PragProg维基第二索引页。
我不得不承认,我很紧张做这个。我的希望是,人们会工作的卡塔以讨论它们之前一段时间,多好处来自于小写字母“a -哈! ”一路上时刻。因此,这将是有趣的,看看如何(如果)讨论开发。
发表于上午09时03分|固定链接
CodeKata的更多相关文章
- 【转】最牛B的编码套路
最近,我大量阅读了Steve Yegge的文章.其中有一篇叫“Practicing Programming”(练习编程),写成于2005年,读后令我惊讶不已: 与你所相信的恰恰相反,单纯地每天埋头于工 ...
- 最牛B的编码套路 - 呦呦鹿鸣 - 博客频道 - CSDN.NET
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- 给大家推荐PYTHON网站
有些比较知名的,像 资源汇总的http://bbs.linuxtone.org/forum.php?mod=viewthread&tid=2133 google的https://code.go ...
- [No000033]码农网-如何锻炼出最牛程序员的编码套路
最近,我大量阅读了Steve Yegge的文章.其中有一篇叫"Practicing Programming"(练习编程),写成于2005年,读后令我惊讶不已: 与你所相信的恰恰相反 ...
- 最牛B的编码套路
最近,我大量阅读了Steve Yegge的文章.其中有一篇叫“Practicing Programming”(练习编程),写成于2005年,读后令我惊讶不已: 与你所相信的恰恰相反,单纯地每天埋头 ...
- [转载]最牛B的编码套路
原文地址:http://www.codeceo.com/article/nb-coding-style.html 这篇文章很不错,推荐给大家看. 最近,我大量阅读了Steve Yegge的文章.其中有 ...
- 最牛B的编码套路(转)
转自:http://blog.csdn.net/happydeer/article/details/17023229 最近,我大量阅读了Steve Yegge的文章.其中有一篇叫"Pract ...
- 最牛X的编码套路
最近,我大量阅读了Steve Yegge的文章.其中有一篇叫"Practicing Programming"(练习编程),写成于2005年,读后令我惊讶不已: 与你所相信的恰恰相反 ...
- 最牛B的编码套路 【转】
原文:http://blog.csdn.net/happydeer/article/details/17023229 最近,我大量阅读了Steve Yegge的文章.其中有一篇叫“Practicing ...
随机推荐
- 网络协议- HTTP
http:是用于www浏览的一个协议.tcp:是机器之间建立连接用的到的一个协议.
- LINUX curl GET 掉参数解决办法
LINUX curl GET 掉参数解决方法 url 为 http://mywebsite.com/index.php?a=1&b=2&c=3web形式下访问url地址,使用 $_GE ...
- win10在安装Oracle11g时出现了:[INS-13001]环境不满足最低要求,及未找到文件 E:\app\xxj\product\11.2.0\dbhome_1\owb\external\oc4j_applications\applications\WFMLRSVCApp.ear
win10安装Oracle11g碰到的3个问题: 1.win10在安装Oracle11g时出现了:[INS-13001]环境不满足最低要求 2.未找到文件 E:\app\xxj\product\11. ...
- 分布式系统状态下redis存储asp.net session使用第三方Providers驱动
https://github.com/ServiceStack/ServiceStack.Redis (redis客户端组件) 注:redis服务端在windows不太稳定,一般部署在Linux下. ...
- 数据库系统——B+树索引
原文来自于:http://dblab.cs.toronto.edu/courses/443/2013/05.btree-index.html 1. B+树索引概述 在上一篇文章中,我们讨论了关于ind ...
- CoreText实现图文混排之点击事件
今天呢,我们继续把CoreText图文混排的点击事件补充上,这样我们的图文混排也算是圆满了. 哦,上一篇的链接在这里 http://www.jianshu.com/p/6db3289fb05d Cor ...
- centos 安装 lnmp
直接yum install nginx不行,要先处理下源,下面是安装完整流程 1. rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/ng ...
- Python之路,Day25-----暂无正在更新中
Python之路,Day25-----暂无正在更新中
- java常见错误的列表
ava常见错误列表: 找不到符号(symbol) 类X是public的,应该被声明在名为X.java的文件中 缺失类.接口或枚举类型 缺失X 缺失标识符 非法的表达式开头 类型不兼容 非法的方法声明; ...
- (转) dedecms中自定义数据模型
刚学习完dedecms的标签语法,我有很多困惑,觉得标签的意义比较抽象,不知道如何用标签来写一些具体的内容.如果有一些数据库的编程经验,就知道一个很常用的编程范例—增删改查.比如说,我要建立的是书本的 ...