Parrot Refactoring Kata

August 28, 2024 ยท View on GitHub

Support this and all my katas via Patreon

Parrot Refactoring Kata

Can you spot any code smells in this code? I'll give you a clue - a spot of Pol(l)ymorphism should improve matters!

Refactor this code, take small steps, run the tests often. See how small and beautiful and polymorphic you can make it.

I made a video explaining this kata, and videos with worked solutions:

There is also a Guided Learning Hour using this exercise: Everyday Design Improvements in OO Code

Acknowlegements

This code is heavily inspired by one of the examples in Martin Fowler's book "Refactoring". It's a classic, and if it's not on your bookshelf already I suggest you treat yourself to a copy!