---
title: Refactoring Legacy Code katas
---
###### tags: `refactoring` `kata`
Pietro Di Bello, [28 Sep 2020 at 22:59:43]:
> voi cosa consigliereste come kata per aiutare un team a fare pratica con il refactoring (abituarsi a cercare di esprimere il codice in modo più chiaro e parlante partendo da una codebase piuttosto "offuscata") ? a me vengono in mente tennis kata (un po' noioso forse), gilded rose? ugly trivia? o anche il mitico goose game refactoring kata?
* [GildedRose](https://github.com/emilybache/GildedRose-Refactoring-Kata)
- basic
- "Lift Up Conditionals": https://www.youtube.com/watch?v=zyM2Ep28ED8
* [Racing Car Katas](https://github.com/emilybache/Racing-Car-Katas)
- basic
- find the SOLID violations
- refactoring
* Il [TripService](https://github.com/sandromancuso/trip-service-kata) non è male.
* https://github.com/supernelis/workshop-renovating-legacy-codebase qui c'e' una guida quasi passo passo su come testarlo. poi ho un fork di quello di JB con approvals e pittest gia' configurato
- seam model
- advanced
- in ... usavamo `TripService`, `GildedRose` e `UglyTrivia` (gli ultimi due utilizzando "Approval Tests")
* Il [Birthday Greeting Kata](https://github.com/xpmatteo/birthday-greetings-kata) di Matteo Vaccari
- advanced
* https://github.com/sf105/refactoring-golf
* https://github.com/xpepper/fifty-shades-of-legacy-goose-game/tree/master/goose-game-two
* https://understandlegacycode.com/blog/5-coding-exercises-to-practice-refactoring-legacy-code/
* https://philippe.bourgau.net/make-testing-legacy-code-viral-mikado-method-and-test-data-builders/