Ressources

La complexité c’est l’ensemble des choses qui rendent la compréhension et la modification d’un système difficile

  • que signifie ce code ?
  • quelle partie du logiciel doit-on modifier pour ce nouveau besoin ?
  • etc …

Symptôme de la complexité

  • Change amplification: a simple change requires many code modifications.
  • Cognitive load: have to load a lot of information in your mind in order to make a change.
  • Unknown unknowns: there’s important information you need to know before making a change, but not obvious where to find it, or even that it is needed.

Qu’est-ce qui rend un système complexe ?

Les dépendances.

Lorsque la modification d’une partie du logiciel impacte une autre partie, alors notre système est fortement couplé. Respecter les principes de Couplage et Cohesion peut aider le système à réduire ces dépendances.

La modularité, le couplage faible sont des “outils” pour nous aider à la réduire