Making Yourself at Home in Legacy Code, Part 2: Refactoring
In the last post I started this mini-series about what you can do if you are thrown at a legacy code base. I wrote about not rushing in, about not […]
In the last post I started this mini-series about what you can do if you are thrown at a legacy code base. I wrote about not rushing in, about not […]
Have you ever come across a legacy code base with dark and dusty corners that have been untouched for years? Many of us have, because green field development of shiny new applications […]
Have you ever worked with a suite of unit tests that took an hour or so to run? I have. And I have not. Because they were only called “unit […]
Today’s post is about an incident with our compiler and a small little feature that sometimes seems to be underused or simply forgotten: Keyword explicit. How a Bug in Our […]
This is the third part of my introductory series on Boost.Operators. In the first part and second part I have written about the underlying ideas of the library and provided […]
This is the second part of my introduction to Boost.Operators. Click here for the first part. I will start right where I stopped in the last part.
In my first two posts about operator overloading I have written about the basics and common practice. This post shows some lessons from the common practice post on a concrete example and […]
I just finished watching a talk from CppCon 2014 by Scott Meyers: Type Deduction and Why You Care. All in all it was a very interesting and entertaining talk, and […]
In many legacy code bases we encounter functions that get their parameters passed by plain pointers. Often those pointers are expected to be not null. In this post I am […]
C++ is a multi-paradigm language, so it is not a purely object oriented language but has other aspects, for example a huge support for generic programming via templates. One of its major […]