Вітаємо в інженерній команді Gilded Rose! Як відомо, ми таверна, яка купує й продає лише найкращі товари. Якість наших товарів постійно знижується в міру наближення терміну продажу, тож ми маємо систему обліку запасів, яка відстежує ці дані.
Нам потрібно додати до нашої системи нову можливість, щоб ми могли почати продавати нову категорію товарів. Однак код заплутаний, і додати нову можливість буде складно, якщо спершу не відрефакторити наявний код.
Отже, завдання подвійне: відрефакторити систему обліку запасів, а потім додати нову можливість.
Ось основи нашої системи:
Досить просто, правда? Але ось де починається цікаве:
Щоб підготувати ґрунт для нової можливості, відрефакторіть наявний код і зробіть його простішим для змін.
Сміливо вносьте будь-які зміни й додавайте будь-який новий код, аби лише все й далі працювало правильно (тобто аби тести для наявних можливостей і далі проходили).
Примітка: можна припустити, що предмети завжди починають із припустимої якості. Інакше кажучи, автоматичні тести не перевіряють, що відбувається, коли початкова якість предмета перевищує максимум, або коли початкова якість Sulfuras відрізняється від 80.
Нещодавно ми уклали договір із постачальником предметів Conjured. Завдання - додати такі правила до нашої системи:
Зареєструйтеся на Exercism, щоб вивчати й опановувати Ruby, а також 21 концепція121 вправа та справжнє наставництво від людей, і все це безкоштовно.