Bienvenue dans l'équipe d'ingénierie de la Gilded Rose ! Comme tu le sais, nous sommes une auberge qui n'achète et ne vend que les meilleures marchandises. Nos marchandises se dégradent constamment en qualité à mesure qu'elles approchent de leur date limite de vente, c'est pourquoi nous avons un système d'inventaire qui garde la trace de ces données.
Nous avons besoin que tu ajoutes une nouvelle fonctionnalité à notre système, afin que nous puissions commencer à vendre une nouvelle catégorie d'articles. Cependant, le code est en désordre, et il sera difficile d'ajouter cette nouvelle fonctionnalité sans commencer par réécrire le code existant.
Ta tâche se décompose donc en deux parties : réécrire le système d'inventaire, puis ajouter la nouvelle fonctionnalité.
Voici les bases de notre système :
Plutôt simple, non ? Eh bien, c'est là que ça devient intéressant :
Pour préparer le terrain à la nouvelle fonctionnalité, réécris le code existant et rends-le plus facile à modifier.
Tu peux faire tous les changements et ajouter tout le code que tu veux, tant que tout continue de fonctionner correctement (c'est-à-dire tant que les tests des fonctionnalités existantes passent encore).
Remarque : tu peux partir du principe que les articles commencent toujours avec une qualité valide. Autrement dit, les tests automatisés ne vérifient pas ce qui se passe quand un article a une qualité initiale supérieure au maximum, ni quand un Sulfuras a une qualité initiale différente de 80.
Nous venons de signer avec un fournisseur d'articles Conjured. Ton travail consiste à ajouter les règles suivantes à notre système :
Inscris-toi sur Exercism pour apprendre et maîtriser Ruby avec 21 concepts121 exercices, et un vrai mentorat humain, le tout gratuitement.