Gilded Rose Kata

Le propriétaire d'une boutique peu ordinaire a fait appel à vous pour ajouter une nouvelle fonctionnalité à son logiciel de gestion des stocks.

  • Chaque objet se gère indépendamment des autres.
  • Le propriétaire ne saurait plus dire comment chacun se gère mais il assure qu'il ne veut aucune modification du comportement existant.
  • La classe Item ne doit pas être modifiée car elle ne lui appartient pas.
  • Un nouvel objet "Conjured" doit pouvoir être géré dans la boutique.

Références

Etape 1 : tests

  • Launching tests with coverage
  • Approval tests
  • Mutation tests

Etape 2 : refactoring en switch sur le nom de chaque item

  • Lift up conditional
  • Let IDE guide you