我已经得到了近几个月编码katas很感兴趣。 我相信他们是磨练我的编程技能,提高我写岗位上的代码质量的好方法。
在有些情况下Katas可以发现许多地方。 喜欢..
http://codekata.pragprog.com/
http://schuchert.wikispaces.com/Katas
http://www.codingdojo.org/
我认为这是一个Katas的优秀仓库......我试图在他们中的一些已经被巨大的回报。
不过,我觉得所有的卡塔的我到目前为止看到有一个短暂的到来。 他们似乎都不让我练重构糟糕的代码。 这是很好的学习如何编写干净的代码第一次就......但我现在的工作,我没有太多的机会,以编写新代码。 相反,我常常作战反对遗留代码,并试图找出如何重构模块,消除依赖,并降低耦合。
因此,我看出来了几个Katas,我可以用它来磨练我的重构遗留代码,并把它变成干净的代码的技巧。
有谁知道任何已经存在? 我知道我得到它大量的实践,而我在工作......但我想磨练自己的技能的地方我能点到快速查看掰开依赖和独立的关切类,做太多。
我不知道,直接编目他们的网站,但我偶尔使用的一个策略是这样的:
- 找一个老,少,无人维护的开源sourceforge上的项目
- 下载它,得到它来编译/编译/运行
- 阅读文档,感受一下代码
- 使用技术, 修改代码的工作得到被测一块吧
- 重构那块,也许修正了bug,沿途增加功能
- 重复步骤4至6
当你发现这是特别具有挑战性的一部分,扔掉你的工作,并重复几次,以加强你的技能。
这不只是练习重构,但是其他的技能,如读码,检测和处理的构建过程。
最难的问题是找到你足够有兴趣在保持工作的项目。最后一个我的工作是为遗传编程一个Python库,而目前一个我工作的是一个Java的IRC库。
我觉得像方士回答这样一个古老的线程,但有一两件事,将使一个值得加成- 遗留代码撤退 。
想法是有一个代码务虚与遗留代码,并努力实践的非常技术来处理这样的,但我看不到任何会禁止你使用简单的代码编写,并通过自己与它练习。 只是用它来创建一个金主,使工作的一个小时,有很多你可以做更多。 如果您的卡塔通常持续约2个小时,我只希望通过拆分通常会发生什么对LCR到卡塔为您提供四种不同的事情上下工夫说。
有一个GitHub的仓库通过思想的作家,JB Rainsberger,包含一个简单的遗留系统,你是用,知识问答游戏工作。
从我作为组织者/参与者的经验,人们真的很喜欢这一点,它是启发,看看有什么可以在旧的代码,并在那里你可以重构你引入歧途的一个问题(以及如何!)。 这里还没有它的样子,另一个帐户安德烈亚斯Leidig 。
艾米莉贝奇有一些重构katas一个GitHub的库: 艾米莉·贝奇的重构卡塔回购 。 有KataYahtzee和KataTennis的变体重构。 此外,她有镀金玫瑰卡塔,它被设计成一个重构卡塔的变体。
此外,她有赛车Katas在她的回购: 赛车卡塔 。 赛车Katas还包括用于重构良好的锻炼。
这些卡塔在多个langauages的代码:
- C ++
- C#
- Java的
- 使用Javascript
- 蟒蛇
- 红宝石