Case Study: Resurrecting/Modernizing Old Code


Details
Do you have old code laying around that you need to change? Maybe you need to fix a bug or maybe you need to add a feature.
Changing old code can be dangerous work because it may have been created to "older standards" and with "older idioms" and it may lack automated tests. In a large C++ code base with a significant history, it is not uncommon for older parts of the system to have been written in C instead of C++.
This month, Richard Thomson will guide us through a case study in resurrecting, rejuvenating, and modernizing old code. We'll be looking at an implementation of some code that writes the Computer Graphics Metafile file format -- a file format for storing 2D graphic primitives and their associated rendering attributes.
The code is successively transformed from ~20 year old C code into a C++ implementation exposed as an abstract interface to clients. Along the way, we'll learn some refactoring tricks with ReSharper for C++ to make our lives easier and we'll get this legacy code covered with unit tests. Our tests will find some bugs hidden in the code for all these years.
Code: https://github.com/LegalizeAdulthood/cgm
This will be an online presentation, so drinks and snacks are on you!
Past presentations can be found on our YouTube channel:
https://www.youtube.com/channel/UC56D6OIs_IAy24ubjC2_hmQ

Case Study: Resurrecting/Modernizing Old Code