Willkommen im Entwicklungsteam von Gilded Rose! Wie du weißt, sind wir ein Gasthaus, das ausschließlich die feinsten Waren kauft und verkauft. Die Qualität unserer Waren verschlechtert sich ständig, je näher ihr Haltbarkeitsdatum rückt, deshalb haben wir ein Inventarsystem, das diese Daten im Blick behält.
Wir möchten, dass du unserem System ein neues Feature hinzufügst, damit wir anfangen können, eine neue Kategorie von Gegenständen zu verkaufen. Allerdings ist der Code ein einziges Durcheinander, und es wird schwierig sein, das neue Feature hinzuzufügen, wenn du nicht zuerst den vorhandenen Code refaktorierst.
Deine Aufgabe ist also zweigeteilt: Refaktoriere das Inventarsystem und füge dann das neue Feature hinzu.
Das sind die Grundlagen unseres Systems:
Ziemlich einfach, oder? Aber jetzt wird es interessant:
Um den Weg für das neue Feature zu ebnen, refaktoriere den vorhandenen Code und mach ihn leichter änderbar.
Du darfst gerne beliebige Änderungen vornehmen und neuen Code hinzufügen, solange alles weiterhin korrekt funktioniert (das heißt, solange die Tests für die vorhandenen Features weiterhin bestehen).
Hinweis: Du kannst davon ausgehen, dass Gegenstände immer mit einer gültigen Qualität starten. Mit anderen Worten: Die automatisierten Tests prüfen nicht, was passiert, wenn ein Gegenstand eine Anfangsqualität über dem Maximum hat oder wenn eine Sulfuras eine Anfangsqualität ungleich 80 hat.
Wir haben kürzlich einen Lieferanten für Conjured-Gegenstände unter Vertrag genommen. Deine Aufgabe ist es, die folgenden Regeln zu unserem System hinzuzufügen:
Melde dich bei Exercism an, um Ruby mit 21 Konzepte121 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.