forked from emilybache/GildedRose-Refactoring-Kata
-
Notifications
You must be signed in to change notification settings - Fork 1
/
GildedRoseRequirements_ru.txt
43 lines (34 loc) · 4.71 KB
/
GildedRoseRequirements_ru.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
======================================
Технические требования «Gilded Rose»
======================================
Привет и добро пожаловать в команду «Gilded Rose». Как вы знаете, мы небольшая гостиница удобно расположенная
в известном городе под руководством дружественного управляющего по имени Эллисон. Также мы занимаемся покупкой
и продажей только самых лучших товаров. К несчастью, качество наших товаров постоянно ухудшается по мере приближения
к максимальному сроку хранения. Существует информационная система, которая ведет переучет всех товаров. Система
была разработана рубаха-парнем, по имени Leeroy, который отправился за поисками новых приключений. Ваша задача
заключается в том, чтобы добавить новый функционал в нашу систему, чтобы мы могли начать продавать новую категорию
товаров.
В общих чертах система работает следующим образом:
- Все товары имеют свойство «sellIn» (срок хранения), которое обозначает количество
дней в течение которых мы должны продать товар;
- Все товары имеют свойство «Quality» (качество), которое обозначает насколько качественным является товар;
- В конце дня наша система снижает значение обоих свойств для каждого товара.
Довольно просто, не правда ли? Тут-то и начинается самое интересное:
- После того, как срок храния прошел, качество товара ухудшается в два раза быстрее;
- Качество товара никогда не может быть отрицательным;
- Для товара «Aged Brie» качество увеличивается пропорционально возрасту;
- Качество товара никогда не может быть больше, чем 50;
- «Sulfuras» является легендарным товаром, поэтому у него нет срока хранения и не подвержен ухудшению качества;
- Качество «Backstage passes» также, как и «Aged Brie», увеличивается по мере приближения к сроку хранения.
Качество увеличивается на 2, когда до истечения срока хранения 10 или менее дней и на 3,
если до истечения 5 или менее дней. При этом качество падает до 0 после даты проведения концерта.
Недавно мы нашли поставщика магических товаров. Для того, чтобы продавать его товары необходимо обновить нашу
систему следующим образом:
- «Conjured» товары теряют качество в два раза быстрее, чем обычные товары.
Не стесняйтесь вносить любые изменения в метод «UpdateQuality» и добавлять любой новый код до тех пор,
пока система работает корректно. Тем не менее, не меняйте класс «Item» или его свойства, так как он принадлежит
сидящему в углу гоблину, который очень яростен и поэтому выстрелит в вас поскольку не верит в принцип
совместного владения кодом (вы можете сделать метод «UpdateQuality» и свойства класса «Item» статическими
если хотите, мы вас прикроем).
Просто для уточнения, товар никогда не может иметь качество выше чем 50, однако легендарный товар «Sulfuras»
имеет качество 80 и оно никогда не меняется.