One of C++s strengths is that it is possible to write very performant code. But does that mean we always have to worry about performance and write our everyday code as […]
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 […]
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 […]
Some people adhere strongly to design patterns. They have read the “Gang of Four” book and are now convinced that there should be a design pattern used in almost every […]
I often see people use handcrafted loops or write weird workarounds for stuff the standard library has already taken care of. This does not only apply for standard library features but also for any other library, like Boost, other third party libraries and the libraries the code belongs to.
I am going to tell you a story about an issue that brought me a rather painful debugging session, and the lessons that can be learned from it. A few […]
Sometimes when I factor out a function, I see a more general algorithm hidden in that function. And then I get carried away generalizing it more and more.
Among C++ developers there often appears to be a misconception about what it means to deal with code that can throw exceptions. The misconception is that the possibility of exceptions […]
In a few occasions I have seen functions that allocate certain local variables on the heap instead of using variables with automatic storage. In this post I explain what you should do with those variables.