3.0 KiB
Especificacións da Rosa Dourada (Gilded Rose)
Benvido ao equipo Gilded Rose.
Como saberás, somos unha pequena pousada situada estratexicamente nunha cidade prestixiosa, atendida pola amable Allison. Tamén compramos e vendemos mercadoría de alta calidade. Por desgraza, a nosa mercadoría vai perdendo calidade (Quality) a medida que se achega a data de venda.
Temos un sistema instalado que actualiza automaticamente o noso inventario. Este sistema foi desenvolvido por un tipo serio e práctico chamado Leeroy, que agora está noutras aventuras.
A túa tarefa é engadir unha nova funcionalidade ao sistema para que poidamos comezar a vender unha nova categoría de items. Pero primeiro, imos describir como funciona o sistema:
Descrición do sistema
- Todos os artigos (
item) teñen unha propiedadeSellInque indica o número de días que temos para vendelo - Todos os artigos (
item) teñen unha propiedadeQualityque indica o valioso que é o artigo - Ao final de cada día, o noso sistema decrementa ambos valores para cada artigo mediante o método
updateQuality
Bastante sinxelo, non si? Pois agora é cando se pon interesante:
- Unha vez que pasa a data recomendada de venda (
SellIn), a calidade (Quality) degrádase ao dobre de velocidade - A
calidadedun artigo nunca é negativa - O "Queixo Brie anciño" (
Aged brie) incrementa a súa calidade (Quality) a medida que madura cos días- A súa calidade (
Quality) aumenta en1unidade cada día - Unha vez expirada a data de venda (
SellIn), a súa calidade (Quality) aumenta o dobre cada día
- A súa calidade (
- A calidade dun artigo (
Quality) non pode superar50 - O artigo
Sulfuras, é un artigo lendario, non precisamos vendelo en ningunha data (SellIn) e tampouco se degrada en (Quality) - O artigo "Entrada ao Backstage" (
Backstage passes), incrementa o seu valor (Quality) a medida que se achega a data do concerto (SellIn)- Se faltan
10días ou menos para o concerto, a calidade (Quality) increméntase en2unidades - Se faltan
5días ou menos, a calidade (Quality) increméntase en3unidades - Unha vez pasada a data do concerto (
SellIn), a entrada perde o seu valor (Quality) e cae a0
- Se faltan
A túa tarefa
Hai pouco contratamos a un provedor de artigos conxurados máxicamente. Isto require unha actualización do sistema:
- Os artigos conxurados (
Conjured) degradan a súa calidade (Quality) o dobre de rápido que os artigos normais
Séntete libre de modificar o método updateQuality e engadir o código que sexa necesario, sempre e cando todo siga funcionando correctamente. Porén, non debes modificar a clase Item nin as súas propiedades, xa que pertence a un duende que, nun ataque de ira, podería liquidarte dun golpe porque non cre na cultura de código compartido.
Notas finais
Para aclarar: un artigo nunca pode ter unha calidade (Quality) superior a 50, aínda que o obxecto Sulfuras, ao ser un artigo lendario, teñen unha calidade inmutable de 80.