mez*_*oid 119 refactoring legacy-code
最近几个月我对编码katas很感兴趣.我相信它们是磨练我的编程技巧和提高我在工作中编写的代码质量的好方法.
Katas可以在很多地方找到.喜欢..
http://schuchert.wikispaces.com/Katas
我发现这些是Katas的优秀资料库......我对其中一些人的尝试得到了极大的回报.
但是,我觉得到目前为止我见过的所有卡塔都有一个短暂的来临.他们似乎都不允许我练习重构坏代码.第一次学习如何编写干净的代码真是太棒了...但在我目前的工作中,我没有太多机会编写新代码.相反,我经常与遗留代码作斗争并试图弄清楚如何重构模块,消除依赖关系并减少耦合.
因此,我正在寻找一些可以用来磨练我重构遗留代码并将其转换为干净代码的技能的Katas.
有谁知道任何已存在的?我知道我在工作的时候会接受很多练习...但是我想磨练自己的技能,以便能够快速地看到如何分离依赖关系,并在课堂上分离关注点做得太多了.
Rya*_*yan 88
我不知道有哪个网站直接对它们进行编目,但我偶尔使用的一个策略是:
当你发现一个特别具有挑战性的部件时,扔掉你的工作并重复几次以增强你的技能.
这不仅仅是练习重构,还包括代码阅读,测试和构建流程处理等其他技能.
最难的问题是找到一个你感兴趣的项目继续工作.我最后一个工作是用于遗传编程的python库,而我正在研究的当前版本是用于Java的IRC库.
LAF*_*ica 18
我觉得死灵法师回复了这样一个古老的线索,但有一件事可以让一个有价值的补充 - 遗产代码撤退.
想法是使用遗留代码进行代码撤退,并尝试练习处理此类代码的技巧,但我看不到任何会阻止您简单地使用自己编写并使用它编写的代码.只是用它来创建一个黄金大师就可以完成一个小时的工作,你可以做更多的事情.如果你的kata通常持续大约2个小时,我会说只是通过将LCR上经常发生的事情分成kata给你四个不同的东西来处理.
想法的作者JB Rainsberger 有一个GitHub存储库,它包含一个你要使用的简单遗留系统,Trivia Game.
根据我作为组织者/参与者的经验,人们非常喜欢这一点,看看遗留代码中的问题是什么,以及你的重构可能导致你误入歧途(以及如何!),这很有启发性.这是Andreas Leidig的另一个关于它的样子的说明.
Ste*_*ton 18
Emily Bache有一个github存储库,包含一些重构katas:Emily Bache的Refactoring Kata Repo.有重复的KataYahtzee和KataTennis重构.此外,她还有Gilded Rose Kata的变种,它被设计为重构kata.
此外,她还有她的回购赛车 Katas:赛车卡塔.赛车Katas还包括很好的重构练习.
那些kata有多个langauages的代码: