I gave a workshop at EuRuKo 2025 based on the noisy animals code kata.
The title was “How to improve your own and others’ code”.
A PDF of my slides is here.
You can find a recording of an earlier version of the workshop that I gave at the July 2025 London Ruby User Group meeting.
Refactoring is a wonderful practice for making code and change easier to manage. That said, here are some reasons why we should not proceed with a refactor. 1. The change is not really a refactor Many people use the word “refactoring” incorrectly. If we’re embarking on a change that is not...
I created a code kata! The Noisy Animals code kata is a programming exercise designed to teach principles of improving bad code. The exercise consists of: around one page of bad code that generates animal noises (dogs go “woof”, cats go “meow”, etc) tests that verify the behaviour of the...
In a 2017 post (on thoughtbot.com where this post originally appeared) German Velasco wrote about how to think about and do refactoring right. This is a follow-up post about what goes wrong when we misuse refactoring and (in German’s words) “rob ourselves of the power to communicate an important...
While working on a feature or a refactor, sometimes we wished that the code looked differently. A developer might think, “If only the code than this interface or this structure, then my work would be easier.” When this happens, we could either do all the refactorings at once or sequence the work...