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 ...
随机推荐
- VGO新闻 - VGO
VGO新闻 - VGO VGO天津伊势丹店盛装揭幕 VGO天津伊势丹店盛装揭幕2013年9月7日,VGO(微高)全国首家实体店在天津伊势丹百货盛装开幕.现场,100多位商场领导及业内同仁共同出席了
- 《Qt编程的艺术》——8.2.1 在Designer中使用View类
不幸的是,QDirModel有一个严重的限制:因为view不响应鼠标操作,我们不得不自己建立这些功能.除此之外,每个view中,用户都一次只能选择一个元素.如果你想要允许同时选择多个项目,你也必须自己 ...
- javaweb项目的优化 - 几番思念
简单地来看一个浏览器用户访问的流程: 浏览器->服务器->返回结果显示 这么简单地看,可能想得到的优化手段很少,常见的可能就是优化sql,加快数据库处理:加个缓存,加快返回:使用静态文件 ...
- 为什么使用spring Struts 等框架开发
转载自:http://www.cnblogs.com/sharpxiajun/p/3936268.html 今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入, ...
- boost------bind的使用(Boost程序库完全开发指南)读书笔记
bind是c++98标准库中函数适配器bind1st/bind2nd的泛化和增强,可以适配任意的可调用类型,包括函数指针.函数引用.成员函数指针和函数对象. 1.工作原理 bind并不是一个单独的类或 ...
- Android中的Apk的加固(加壳)原理解析和实现
一.前言 今天又到周末了,憋了好久又要出博客了,今天来介绍一下Android中的如何对Apk进行加固的原理.现阶段.我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个apk, ...
- 第一篇:数据工程师眼中的智能电网(Smart Grid)
前言 想必第一次接触到智能电网这个概念的人,尤其是互联网从业者,都会顾名思义的将之理解为"智能的电网". 然而智能电网中的"智能"是广义上的智能,它就是指更好的 ...
- [转] 学习HTML/JavaScript/PHP 三者的关系以及各自的作用
1.What is HTML? When you write a normal document using a word processor like Microsoft Word/Office, ...
- C#操作INI配置文件示例
源文件地址:http://pan.baidu.com/share/link?shareid=2536126078&uk=1761850335创建如图所示的控件: 源代码: using Syst ...
- iOS多线程编程之GCD的使用
什么是线程呢? 1个CPU执行的CPU命令列为一条无分叉的路径即为线程. 这种无分叉路径不止1条,存在多条时即为多线程. 什么是GCD? Grand Central Dispatch (GCD)是异步 ...