One of the most challenging tasks in software engineering is cleaning up a complex software with 10,000-100,000 lines of code. The problem gets worse, if you are taking over legacy code. The fact that the Python language does neither enforce strict typing or encapsulation does not help either. What should you do if throwing away everything and rewriting the program from scratch is not an option?

In this tutorial, we will exercise refactoring a larger program that is undocumented, unstructured and untested. We will take a messy example program and work through a list of procedures that may help you in your next big refactoring.

Dr. Kristian Rother


Kristian is a freelance Python trainer who wrote his first lines of Python in the year 0x11111001111. In his early career he wrote software for life science research. Since 2011, he has been teaching Python and Data Science in Europe. He has translated and written Python books and published teaching material. Kristian has collected 308 stars on Advent of Code. His knowledge about async is, unfortunately, miserable. His favorite Python module is 're'. Kristian believes everybody can learn programming.

visit the speaker at: GithubHomepage