Skip to content

Latest commit

 

History

History
40 lines (30 loc) · 4.55 KB

GildedRoseRequirements_ru.md

File metadata and controls

40 lines (30 loc) · 4.55 KB

Технические требования «Gilded Rose»

Привет и добро пожаловать в команду «Gilded Rose». Как вы знаете, мы небольшая гостиница удобно расположенная в известном городе под руководством дружественного управляющего по имени Эллисон. Также мы занимаемся покупкой и продажей только самых лучших товаров. К несчастью, качество наших товаров постоянно ухудшается по мере приближения к максимальному сроку хранения.

У нас есть информационная система, которая ведет переучет всех товаров. Система была разработана рубаха-парнем, по имени Leeroy, который отправился за поисками новых приключений. Ваша задача заключается в том, чтобы добавить новый функционал в нашу систему, чтобы мы могли начать продавать новую категорию товаров. Для начала введение в нашу систему:

  • Все товары имеют значение срока реализации (SellIn), которое обозначает количество дней, в течение которых мы должны их продать
  • Все товары имеют значение качества (Quality), которое обозначает, насколько ценен товар
  • В конце дня наша система снижает значение обоих свойств для каждого товара

Довольно просто, не правда ли? Тут-то и начинается самое интересное:

  • Как только срок продажи товара истек, его качество (Quality) портится в два раза быстрее
  • Качество (Quality) товара никогда не бывает отрицательным
  • Для товара "Aged Brie" качество (Quality) увеличивается с возрастом
  • Качество (Quality) товара никогда не превышает 50
  • "Sulfuras", являясь легендарным товаром, никогда не нужно продавать и его качество (Quality) никогда не уменьшается
  • "Backstage passes", как и "Aged Brie", увеличивается в качестве (Quality) по мере приближения к значению срока реализации (SellIn):
    • Качество (Quality) увеличивается на 2, когда остаётся 10 дней или меньше, и на 3, когда остаётся 5 дней или меньше, но
    • Качество (Quality) падает до 0 после концерта

Недавно мы подписали контракт с поставщиком зачарованных товаров. Это требует обновления нашей системы:

  • Зачарованные ("Conjured") предметы теряют качество (Quality) в два раза быстрее обычных товаров

Не стесняйтесь вносить любые изменения в метод UpdateQuality и добавлять любой новый код до тех пор, пока система работает корректно. Тем не менее, не меняйте класс Item или свойства Items, так как они принадлежат сидящему в углу гоблину, который очень яростен и поэтому выстрелит в вас поскольку не верит в принцип совместного владения кодом (вы можете сделать метод UpdateQuality и свойства класса Item статическими если хотите, мы вас прикроем).

Просто для уточнения, товар никогда не может иметь качество (Quality) выше чем 50, однако легендарный товар "Sulfuras" имеет качество 80 и оно никогда не меняется.