mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-12 12:22:12 +00:00
refactor: french specification review
This commit is contained in:
parent
fd9d429f7d
commit
bbf8ff798f
@ -1,41 +1,41 @@
|
||||
============================================
|
||||
Spécification de la Rose dorée (Gilded Rose)
|
||||
============================================
|
||||
# Spécification de la Rose dorée (Gilded Rose)
|
||||
|
||||
Bonjour et bienvenue dans l'équipe de la Rose dorée. Comme vous le savez déjà, notre petite taverne
|
||||
située à proximité d'une cité importante est dirigée par l'amicale aubergiste Allison. Nous ne vendons
|
||||
bien sûr que les produits de la meilleurs qualité. Malheureusement, la qualité de nos marchandises se
|
||||
dégrade constamment à l'approche de leur date de péremption. Un système a été mis en place pour mettre
|
||||
à jour notre inventaire. Il a été développé par Leeroy, une personne pleine de bon sens qui est reparti
|
||||
pour de nouvelles aventures. Votre mission est d'ajouter une nouvelle fonctionnalité à notre système
|
||||
pour que nous puissions commencer à vendre un nouveau type de produit. Mais d'abord, laissez-moi vous
|
||||
présenter notre système :
|
||||
Bonjour et bienvenue dans l'équipe de la Rose dorée.
|
||||
|
||||
- Tous les produits ont une valeur qui compte le nombre de jours restant pour le vendre : la SellIn
|
||||
- Tous les produits ont une valeur qui spécifie sa qualité : la Quality
|
||||
- A la fin de chaque jour, le système diminue ces deux valeurs pour chaque produit
|
||||
Comme vous le savez, notre petite taverne située à proximité d'une cité importante est dirigée par l'amicale aubergiste Allison.
|
||||
|
||||
Plutôt simple, non ? Attendez, ça devient intéressant :
|
||||
Nous achetons et vendons uniquement les meilleurs produits.
|
||||
Malheureusement, la qualité de nos marchandises se dégrade constamment à l'approche de leur date de péremption.
|
||||
|
||||
- Une fois la SellIn dépassée, la Quality diminue deux fois plus vite
|
||||
- La Quality d'un produit ne peut jamais être négative
|
||||
- "Aged Brie" (du vieux brie) s'améliore avec l'âge : sa Quality augmente
|
||||
- La Quality d'un produit n'est jamais supérieure à 50
|
||||
- Le "Sulfuras", un objet légendaire, n'a pas de date de péremption et sa Quality ne diminue jamais
|
||||
- Les "Backstage passes", comme le vieux brie, a sa Quality qui augmente quand sa date de péremption approche
|
||||
- Sa Quality augmente de 2 quand il reste 10 jours ou moins et de 3 quand il reste 5 jours ou moins
|
||||
- Sa Quality tombe à 0 après le concert
|
||||
Un système a été mis en place pour mettre à jour notre inventaire.
|
||||
Il a été développé par Leeroy, une personne pleine de bon sens qui est parti pour de nouvelles aventures.
|
||||
|
||||
Nous avons récemment signé un partenariat avec un fournisseur de produit invoqué ("Conjured"). Notre système a
|
||||
donc besoin d'une mise à jour :
|
||||
Votre mission est d'ajouter une nouvelle fonctionnalité à notre système pour que nous puissions commencer à vendre un nouveau type de produit.
|
||||
|
||||
- Les produit "Conjured" (invoqués) ont une Quality qui diminue deux fois plus vite que les autres
|
||||
Mais d'abord, laissez-moi vous présenter notre système :
|
||||
|
||||
Vous pouvez faire les changements que vous voulez à la méthode "updateQuality" et ajouter autant de code que
|
||||
vous voulez, tant que tout fonctionne correctement. Cependant, nous devons vous prévenir, ne modifiez en aucun
|
||||
cas la classe Item ou ses propriétés car cela appartient au gobelin de l'étage et il s'enragera et vous tura
|
||||
sans délai : il ne croit pas dans le partage du code (si vous rendez la méthode "updateQuality" et les propriétés
|
||||
de Item static, on vous couvrira).
|
||||
- Tous les éléments ont une valeur `sellIn` qui désigne le nombre de jours restant pour vendre l'article.
|
||||
- Tous les articles ont une valeur `quality` qui dénote combien l'article est précieux.
|
||||
- A la fin de chaque journée, notre système diminue ces deux valeurs pour chaque produit.
|
||||
|
||||
Just pour clarifier un point, un produit ne peut avoir une Quality supérieure à 50, bien sûr étant donné que le
|
||||
"Sulfuras" est un objet légendaire, sa Quality est de 80 et n'est jamais altérée.
|
||||
Plutôt simple, non ?
|
||||
|
||||
Attendez, ça devient intéressant :
|
||||
|
||||
- Une fois que la date de péremption est passée, la qualité se dégrade deux fois plus rapidement.
|
||||
- La qualité (`quality`) d'un produit ne peut jamais être négative.
|
||||
- "Aged Brie" augmente sa qualité (`quality`) plus le temps passe.
|
||||
- La qualité d'un produit n'est jamais de plus de 50.
|
||||
- "Sulfuras", étant un objet légendaire, n'a pas de date de péremption et ne perd jamais en qualité (`quality`)
|
||||
- "Backstage passes", comme le "Aged Brie", augmente sa qualité (`quality`) plus le temps passe (`sellIn`) ; La qualité augmente de 2 quand il reste 10 jours ou moins et de 3 quand il reste 5 jours ou moins, mais la qualité tombe à 0 après le concert.
|
||||
|
||||
Nous avons récemment signé un partenariat avec un fournisseur de produit invoqué ("Conjured").
|
||||
Cela nécessite une mise à jour de notre système :
|
||||
|
||||
- les éléments "Conjured" voient leur qualité se dégrader de deux fois plus vite que les objets normaux.
|
||||
|
||||
Vous pouvez faire les changements que vous voulez à la méthode `updateQuality` et ajouter autant de code que vous voulez, tant que tout fonctionne correctement.
|
||||
Cependant, nous devons vous prévenir, ne devez modifier en aucun cas la classe `Item` ou ses propriétés car cette classe appartient au gobelin de l'étage et il rentrera dans du rage instantanée et vous tuera sans délai : il ne croit pas dans le partage du code.
|
||||
(Vous pouvez ajouter une méthode `updateQuality` et des propriétés statiques dans la classe `Item` si vous voulez, nous vous couvrirons)
|
||||
|
||||
Juste une précision, un produit ne peut jamais voir sa qualité augmenter au-dessus de 50, cependant "Sulfuras" est un objet légendaire et comme tel sa qualité est de 80 et il ne change jamais.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user