Posts with tag: Complexity

Why you should care about include dependencies in C/C++ and how to keep them at a minimum

When we think of dependencies, we usually think of “logical dependencies” at first: logical relations between classes, functions etc. Object oriented design, generic programming, encapsulation, design patterns are aimed to cut this “logical dependencies”. But there are also compile time dependencies - dependencies between files and libraries at compile time. This article is on include dependencies in C/C++ what are a sort of compile time dependencies. This dependencies have a huge impact on building, refactoring, testing and on the structure of your software.
→ Read More

Good enough is just right

When we develop a piece of software or functionality the following is true in many cases: It does not need to be super performant, it does not need to be robust to handle every imaginable error or flexible and generic to meet any future need. The test coverage does not need to be 100% and the code does not need to be perfect. Nevertheless, as developers we are often tempted to do things that probably nobody needs, like adding “super cool features”, refactor code just for the sake of perfection or optimize performance without any need.
→ Read More