Monthly Archives: May 2015

Enforce the Single Responsibility Principle: Cassandra nodetool case study

Let’s start with the single responsibility principle from wikipedia: In object-oriented programming, the single responsibility principle states that every class should have responsibility over a single part of the functionality provided by the software, and that responsibility should be entirely … Continue reading

Leave a comment

Basic steps to follow before contributing to a C++ project.

Before contributing effectively to a C++ project , it’s recommended to take a tour in the existing code base, and identify some of its  design and implementation choices. Indeed your contribution must be coherent with the existing source code. Here are … Continue reading

Leave a comment

Readability and Maintainability regulators using Halstead and Technical Debt measures.

The readability of source code has a direct impact on how well a developer comprehends a software system. Code maintainability refers to how easily that software system can be changed to add new features, modify existing features, fix bugs, or … Continue reading

Leave a comment

Exploring existing code architecture using dependency graph

Dependency graph offers a wide range of facilities to help user exploring an Existing Code Architecture. In this article you’ll learn how to benefit from these features in order to achieve most popular Code Exploration scenarios: Call Graph Class Inheritance Graph … Continue reading

Leave a comment

How Dependency Structure Matrix could help you improve your software design

The DSM (Dependency Structure Matrix) is a compact way to represent and navigate across dependencies between components. For most engineers, talking of dependencies means talking about something that looks like that:

Leave a comment

Using the Level metric to understand an existing code base

When we discuss the architecture of a code base, we often qualify a piece of a given code by using terms such as high level or low level. This is common vocabulary and we all intuitively know what it means. … Continue reading

Leave a comment

C/C++ SonarQube plugin based on Clang

The big challenge to develop a sonarqube plugin for C/C++ is to use the good parser, producing a parser for such a grammar is much harder.  What makes C++ really hard is certain rules relating to declarations/definitions, name lookup (consider … Continue reading

Leave a comment