Ce kata a pour objectif de s'exercer au refactoring sur un code existant afin de :
smells dans notre codesmellssafe en dehors de son code de production
Nos vaillants chasseurs du Bouchonnois ont besoin de pouvoir gérer leurs parties de chasse.
Ils ont commencé à faire développer 1 système de gestion par l'entreprise Toshiba mais ne sont pas satisfaits.
L'entreprise leur parle d'une soit-disante dette technique qui les ralentit dans le développement de nouvelles features...

Les chasseurs comptent sur nous pour améliorer la situation.
Ils ont fait quelques ateliers avec Toshiba et ont réussi à clarifier ce qui est attendu du système.
Pour ce faire, ils ont utilisé le format Example Mapping à découvrir ici.
Voici l'Example Mapping qui a servi d'alignement pour développer ce système.

Version PDF disponible ici
Le code est disponible en C# (.NET 7), java(21), kotlin.
Voici la liste des librairies utilisés / recommandées :
| .NET | Java | Kotlin |
|---|---|---|
xUnit |
junit |
Kotest |
FluentAssertions |
assertJ |
Native kotest asertions |
Verify.xUnit |
approvalTests |
approvalTests |
FSCheck |
vavr-test |
kotest-property |
TngTech.ArchUnitNET.xUnit |
archunit |
archunit |
LanguageExt.Core |
vavr |
arrow-kt |
FluentAssertions.LanguageExt |
assertj-vavr |
kotest-extensions-arrow |
Afin d'améliorer le code on te propose de suivre les étapes ci-dessous :
Pour chaque étape :
C# uniquement)
À travers ces différentes étapes j'ai essayé d'introduire les sujets suivants :
Bon voyage ?