首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于实践遗留代码重构的Coding Kata

用于实践遗留代码重构的Coding Kata
EN

Stack Overflow用户
提问于 2009-09-16 11:50:17
回答 3查看 16.2K关注 0票数 126

近几个月来,我对编写katas代码非常感兴趣。我相信它们是磨练我的编程技能和提高我在工作中编写的代码质量的好方法。

有许多地方可以找到Katas。就像..。

http://codekata.pragprog.com/

http://schuchert.wikispaces.com/Katas

http://www.codingdojo.org/

我发现这些是很好的Katas存储库...我在其中一些方面的尝试得到了极大的回报。

然而,我觉得到目前为止我看到的所有的Kata都有一个缺点。它们似乎都不允许我练习重构糟糕的代码。在我目前的工作中第一次学习如何编写干净的代码是很棒的,我没有太多的机会来编写新的代码。相反,我经常与遗留代码作斗争,试图弄清楚如何重构模块、消除依赖和减少耦合。

因此,我正在寻找几个Kata,它们可以用来磨练我重构遗留代码并将其转换为干净代码的技能。

有没有人知道已经存在的?我知道我在work...but得到了大量的实践,我想磨练我的技能,使我能够快速了解如何在做太多事情的类中分解依赖关系和分离关注点。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-09-25 06:02:16

我不知道有哪个网站会直接对它们进行分类,但我偶尔会用到的一个策略是:

在sourceforge

  • Download it上找到一个旧的、小的、未维护的开源项目,将其放到compile/build/run

  • Read文档中,了解代码的感觉

  • 使用有效使用遗留代码中的技术对其进行测试

  • 重构这部分代码,可能会修复错误并在此过程中添加功能

  • 重复步骤4到6

<代码>G213

当你发现一个特别具有挑战性的部分时,扔掉你的工作,重复几次来加强你的技能。

这不仅仅是练习重构,还包括其他技能,如代码阅读、测试和处理构建过程。

最困难的问题是找到一个你有足够兴趣继续工作的项目。我的上一个项目是一个用于遗传编程的python库,而目前我正在开发的是一个用于Java的IRC库。

票数 95
EN

Stack Overflow用户

发布于 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对它的另一种描述。

票数 21
EN

Stack Overflow用户

发布于 2013-10-12 23:38:02

艾米丽·贝奇有一个github存储库,其中包含一些重构的katas:Emily Bache's Refactoring Kata Repo。有一些KataYahtzee和KataTennis的变体需要重构。此外,她还有一个镀金玫瑰形的变体,它被设计为重构形式图。

此外,她在她的回购中有赛车卡塔斯:Racing Car Kata。Race Car Katas还包括很好的重构练习。

这些kata有多种语言的代码:

  • C++
  • C#
  • Java
  • Javascript
  • Python
  • Ruby
票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1432485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档