近几个月来,我对编写katas代码非常感兴趣。我相信它们是磨练我的编程技能和提高我在工作中编写的代码质量的好方法。
有许多地方可以找到Katas。就像..。
http://codekata.pragprog.com/
http://schuchert.wikispaces.com/Katas
http://www.codingdojo.org/
我发现这些是很好的Katas存储库...我在其中一些方面的尝试得到了极大的回报。
然而,我觉得到目前为止我看到的所有的Kata都有一个缺点。它们似乎都不允许我练习重构糟糕的代码。在我目前的工作中第一次学习如何编写干净的代码是很棒的,我没有太多的机会来编写新的代码。相反,我经常与遗留代码作斗争,试图弄清楚如何重构模块、消除依赖和减少耦合。
因此,我正在寻找几个Kata,它们可以用来磨练我重构遗留代码并将其转换为干净代码的技能。
有没有人知道已经存在的?我知道我在work...but得到了大量的实践,我想磨练我的技能,使我能够快速了解如何在做太多事情的类中分解依赖关系和分离关注点。
发布于 2009-09-25 06:02:16
我不知道有哪个网站会直接对它们进行分类,但我偶尔会用到的一个策略是:
在sourceforge
<代码>G213
当你发现一个特别具有挑战性的部分时,扔掉你的工作,重复几次来加强你的技能。
这不仅仅是练习重构,还包括其他技能,如代码阅读、测试和处理构建过程。
最困难的问题是找到一个你有足够兴趣继续工作的项目。我的上一个项目是一个用于遗传编程的python库,而目前我正在开发的是一个用于Java的IRC库。
发布于 2013-02-09 20:02:55
我感觉像是亡灵法师在回复这样一个古老的帖子,但有一件事是有价值的- Legacy Code Retreat。
我的想法是拥有一个带有遗留代码的Code Retreat,并尝试实践处理这种情况的技术,但我看不出有任何东西会阻止你简单地使用准备好的代码并自己练习。仅仅使用它来创建一个黄金大师就需要一个小时的工作,而且你还可以做更多的事情。如果你的kata通常持续2个小时左右,我会说,通过将LCR上通常发生的事情拆分成kata,就可以给你四种不同的工作。
idea的作者J.B.Rainsberger提供了一个GitHub repository,其中包含一个简单的遗留系统,即Trivia Game。
从我作为组织者/参与者的经验来看,人们真的很喜欢这一点,看到遗留代码中可能存在的问题以及重构可能会将您引向何处(以及如何!),这很有启发性。这是Andreas Leidig对它的另一种描述。
发布于 2013-10-12 23:38:02
艾米丽·贝奇有一个github存储库,其中包含一些重构的katas:Emily Bache's Refactoring Kata Repo。有一些KataYahtzee和KataTennis的变体需要重构。此外,她还有一个镀金玫瑰形的变体,它被设计为重构形式图。
此外,她在她的回购中有赛车卡塔斯:Racing Car Kata。Race Car Katas还包括很好的重构练习。
这些kata有多种语言的代码:
https://stackoverflow.com/questions/1432485
复制相似问题