top of page
  • Anton Pirker

From 0% to Cleanly Refactored Code 100% Tested Code

A few years ago at Craft Conference in Budapest, I attended a talk by Llewellyn Falco called "From 0% to Cleanly Refactored Code 100% Tested Code".


In his talk, Falco shows how he refactors a small piece of really ugly legacy code. He adds 100% code coverage, cleans up the code, and in the end adds a new requirement.


He shows a handful of practices that allow him to change the code in tiny steps with the confidence that he will not change the behavior of the code. And all this while not needing to think a lot. It is just mesmerizing at what pace he is changing the code without thinking.


I have never seen a person with such a good setup. He can run and add tests during coding very quickly and also has a great habit of tiny commits with standardized commit messages.


I especially liked his comments in the Q&A section at the end when he was talking about how programmers do not practice their skills, but just perform most of the time.


Performing does not improve your skills, practice does.

This resonated with me. I do tend to perform my skills all the time but neglect to practice them. So I should spend more time practicing my skills.


Here is his excellent talk in full:



Recent Posts

See All

How to Refactor and Not Break Things

I am one of the maintainers of the Sentry Python SDK. In the SDK, we completed a huge refactoring, and I want to write down how we pulled this off without breaking (almost) anything and how we managed

How I feel when doing a massive refactoring

In all the years I have been developing software professionally I had to deal with a lot of code. At the beginning of the project, the code is mostly good but there comes a time in the life of every s

That Day, I Deleted Our Production Database.

Once upon a time, I was hired as the second engineer in a startup. On the first day, my task was to create a script to anonymize the data in a dump of the production db so we could use the anonymized

Comments


bottom of page