Refactoring du Bouchonnois
Kata de refactoring pour apprendre des techniques telles que Property-Based Testing, Approval Testing, Strangler, Functional Programming, ....
Last updated
Was this helpful?
Kata de refactoring pour apprendre des techniques telles que Property-Based Testing, Approval Testing, Strangler, Functional Programming, ....
Last updated
Was this helpful?
Ce kata a pour objectif de s'exercer au refactoring sur un code existant afin de :
Identifier certains smells
dans notre code
Comprendre quelles pratiques et/ou outils peuvent nous aider pour surpasser ces smells
Pratiquer dans 1 environnement safe
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.
Voici l'Example Mapping qui a servi d'alignement pour développer ce système.
Le code est disponible en .NET 7
.
Voici la liste des packages utilisés :
xUnit
FluentAssertions
Verify.xUnit
FSCheck
TngTech.ArchUnitNET.xUnit
LanguageExt.Core
FluentAssertions.LanguageExt
Chaque étape comprend :
un "guide" de facilitation
une proposition de solution "étape par étape"
1 branche / étape avec le code source associé
À travers ces différentes étapes j'ai essayé d'introduire les sujets suivants :
Example Mapping
Static Code Analysis / Linter
Treat Warnings as Errors
Mutation Testing
Test Data Builders
Approval Testing
Automated Refactoring
Property-Based Testing
Tests d'Architecture
Test-Driven Development
Clean Architecture
Domain Driven Design
Tell Don't Ask
Functional Programming
Avoid Primitives
Avoid Exceptions
Architecture Decision Records
Event Sourcing
...
Bon voyage 🤩
Afin d'améliorer le code on te propose de suivre les étapes ci-dessous :
Le kata est disponible sur github .
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 .
Version PDF disponible .