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 ...
随机推荐
- 金牌分析师助力 鲁泰A图谋再造一个“鲁泰”?_财经_中国网
金牌分析师助力 鲁泰A图谋再造一个"鲁泰"?_财经_中国网 金牌分析师助力 鲁泰A图谋再造一个"鲁泰"?
- 字体图标 icon font
Icon font icon font 指的是用字体文件代替图片文件,来展示图标.特殊字体等元素的方法. 应用场景: iconfont的优缺点 大小能够自由地变化 颜色能够自由地改动 加入阴影效果 * ...
- warning:1071 (42000) Specified key was too long;max key length is 1000 bytes
原因是mysql字段长度设置的太长了, 从而导致mysql在建立索引时,索引长度超过了mysql默认许可的长度 默认 Innodb 允许长度为 767 MyISAM 允许长度为 1000 官方说明 如 ...
- SPOJ 4053 - Card Sorting 最长不下降子序列
我们的男主现在手中有n*c张牌,其中有c(<=4)种颜色,每种颜色有n(<=100)张,现在他要排序,首先把相同的颜色的牌放在一起,颜色相同的按照序号从小到大排序.现在他想要让牌的移动次数 ...
- HTML5之兴趣爱好
- 提升升级 强制更新 Download
Activity和广播 /** 下载APK细节 1.点击升级后对话框不消失,再次点击时不能重复下载 2.下载过程中退出APP,下次进入应用后要重新下载(因为可能不完整) 3.下载过程中退出APP(或下 ...
- 传感器 Sensor 加速度【示例】
简介 坐标系 x轴:从左到右 y轴:从下到上 z轴:从内到外 这个坐标系与Android 2D API中的不同,传感器中的返回值都以此坐标系为准. SENSOR_TYPE_ACCELEROMETER ...
- Asp.net页面使用showModalDialog时Postback弹出新页面解决办法
今天碰到一个让我一开始觉得莫名其妙的问题, 用window.showModalDialog打开一个.aspx文件,然后点击这个页面上一个button, 把页面的数据存入数据库之后,居然又打开一个这个页 ...
- android对象序列化Parcelable浅析
一.android序列化简介 我们已经知道在Android使用Intent/Bindler进行IPC传输数据时,需要将对象进行序列化. JAVA原本已经提供了Serializable接口来实现序列化, ...
- C#设计模式-创建型模式(转)
一.简单工厂模式 简单工厂模式Simple Factory,又称静态工厂方法模式.它是类的创建模式.是由一个工厂对象决定创建出哪一种产品类的实例,是不同的工厂方法模式的一个特殊实现. 优点: u 模式 ...