Üdvözlünk a Gilded Rose mérnöki csapatában! Mint tudod, mi egy fogadó vagyunk, amely kizárólag a legkiválóbb árukat vásárolja és adja el. Az áruink minősége folyamatosan romlik, ahogy közelednek a lejárati idejükhöz, ezért van egy készletkezelő rendszerünk, amely nyomon követi ezeket az adatokat.
Szeretnénk, ha hozzáadnál egy új funkciót a rendszerünkhöz, hogy elkezdhessünk árulni egy új tárgykategóriát. A kód azonban káosz, és nehéz lesz hozzáadni az új funkciót, hacsak előbb nem refaktorálod a meglévő kódot.
A feladatod tehát kettős: refaktoráld a készletkezelő rendszert, majd add hozzá az új funkciót.
Íme a rendszerünk alapjai:
Egészen egyszerű, ugye? Nos, itt válik érdekessé a dolog:
Hogy előkészítsd a terepet az új funkciónak, refaktoráld a meglévő kódot, és tedd könnyebben módosíthatóvá.
Nyugodtan végezz bármilyen változtatást, és adj hozzá új kódot, ameddig minden továbbra is helyesen működik (vagyis ameddig a meglévő funkciók tesztjei továbbra is sikeresek).
Megjegyzés: feltételezheted, hogy a tárgyak mindig érvényes minőséggel indulnak. Más szóval, az automatikus tesztek nem ellenőrzik, mi történik, ha egy tárgy kezdeti minősége meghaladja a maximumot, vagy ha egy Sulfuras kezdeti minősége nem 80.
Nemrég szerződést kötöttünk egy Conjured tárgyakat szállító beszállítóval. A feladatod, hogy a következő szabályokat hozzáadd a rendszerünkhöz:
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Ruby nyelvet 21 fogalom121 feladat segítségével, valódi emberi mentorálással, mindez ingyen.