Talks

Don't let your servers do the cooking! Refactoring a messy codebase using design patterns

Mariam Demir

Research Software Engineer

A detailed account of refactoring a real codebase that started with a single class responsible for everything.

Have you ever come across a class that seems to do everything?

In this talk, I'll walk through how I refactored a real codebase that started with a single class responsible for everything: from the GUI, to the strategy and the application flow. We'll talk about the choices in design patterns and layered architecture that helped decouple the code's responsibilities. Very much like a restaurant where one waitress takes orders, plans the meals, cooks every dish, and serves every table, the application worked, but was difficult to understand, maintain and extend. In the end, we'll have a full kitchen brigade with their own individual roles and stations, and no stepping on toes.