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