Who Needs Unit Tests Anyway? Modernizing Legacy Code with 0% Code Coverage

Jan Baart

60
beginner
intermediate
advanced
15:30-16:30, Wednesday, 3rd July 2024

Legacy code. The sheer mention strikes fear into the hearts of C++ developers. Whether you are a veteran or a newcomer to the language, the idea of grappling with an outdated, convoluted codebase full of outdated practices and C-style implementations can be daunting indeed. Many would prefer the allure of building something new and exciting, free from the constraints of a legacy system.

Yet, what if you do not have this luxury? Legacy code is valuable and remains the backbone of countless living and breathing applications. Simply keeping these applications alive is not good enough. Their code needs to be understood, future-proofed, updated to new language standards, and made less brittle if the application is to survive.

But how you can even begin to understand and modify code without any existing tests? In this talk we will explore practical strategies for confidently working on large legacy C++ codebases and getting them shipshape. Who knows, you might even find using these actionable approaches enjoyable.

legacy code
refactoring

Jan Baart

More than a decade working on large enterprise software in C++ has made Jan Baart appreciate the evolution of his favorite language. As passionate as ever about solving problems using the latest C++ features, he currently works for Munich company Bittner+Krull. Having benefited immensely from attending conferences, C++ on Sea marks his first foray into sharing his experiences as a speaker.