CONTEXTE
Le développeur agile, ce qu’il veut c’est délivrer des fonctionnalités, donc de la valeur, le plus rapidement et le plus souvent possible à son client. Pour cela il a besoin de comprendre son code et de pouvoir le modifier facilement sans risque. Il lui faut donc un code clair tout au long du projet ainsi qu’une suite de tests fiable.
L’architecture qu’il va choisir va fortement influencer ces deux aspects.
Dans un contexte où l’on vise un design émergent, qu’on peut faire évoluer facilement, il reste malgré tout certaines décisions qui vont être plus difficiles à modifier par la suite que d’autres. Celles-là méritent qu’on y réfléchisse dès le début du projet.
L’architecture hexagonale et clean architecture nous donnent quelques principes importants à respecter pour nous garantir une application facilement maintenable / refactorable et un risque de bug faible.
EN PRATIQUE
Après avoir revu rapidement les concepts importants, on va se lancer dans un changement d’une application legacy codée en C# et pas facile à tester. On verra comment la refactorer progressivement afin d’obtenir une architecture qui accueillera notre changement très facilement.
Cette présentation est accessible à toute personne ayant des bases de programmation.