GildedRose-Refactoring-Kata/GildedRoseRequirements_it.md
2023-09-04 13:51:11 +02:00

46 lines
2.7 KiB
Markdown

# Specifiche dei requisiti della rosa dorata (Gilded Rose)
Ciao, benvenuto nel team **Rosa dorata**.
Come sapete, siamo una piccola locanda con una posizione privilegiata in una importante città
gestita da un amichevole locandiere di nome Allison.
Compriamo e vendiamo solo i prodotti migliori.
Sfortunatamente, la qualità dei nostri prodotti diminuisce costantemente man mano che si avvicinano alla data di scadenza.
Disponiamo di un sistema che aggiorna il nostro inventario in automatico.
Il sistema è stato sviluppato da un tipo pratico chiamato Leeroy, che è passato a nuove avventure.
Il tuo compito è aggiungere una nuova funzionalità al nostro sistema in modo che possiamo iniziare a vendere una nuova categoria di articoli.
## Decrizione del sistema:
- Tutti gli articoli (`Item`) hanno un valore `sellIn` che indica quanti giorni mancano alla data di scadenza
- Tutti gli articoli hanno un valore di qualità `quality` che denota il valore dell'articolo
- Alla fine di ogni giornata il nostro sistema decrementa entrambi i valori per ogni articolo tramite il metodo `updateQuality`
Abbastanza semplice, vero? Bene, è qui che la cosa diventa interessante:
- Una volta trascorsa la data di scadenza, la qualità diminuisce due volte più velocemente
- La Qualità di un articolo non è mai negativa
- "Brie invecchiato" (`Aged brie`) aumenta di uno la sua qualità man mano che invecchia
- La Qualità di un articolo non è mai superiore a 50
- "Sulfuras", essendo un oggetto leggendario, non modifica mai ne la proprietà `sellIn` ne degrada la proprietà `quality`
- I "Backstage pass", come il brie invecchiato (`Aged brie`), aumentano di qualità man mano che il loro valore di `sellIn` si avvicina a 0
- La proprietà `quality` aumenta di 2 quando mancano 10 giorni o meno e di 3 quando ci sono 5 giorni o meno ma,
- La proprietà `quality` scende a 0 quando il valore di `sellIn` scende a 0.
## La nuova richiesta:
Recentemente è stato firmato un contratto con un fornitore di oggetti `evocati magicamente`.
Ciò richiede un aggiornamento del nostro sistema:
- Gli oggetti "magici" diminuiscono di qualità due volte più velocemente rispetto agli oggetti normali.
Sentiti libero di apportare qualsiasi modifica al metodo "updateQuality" ed aggiungere codice se necessario, purché tutto continui a funzionare correttamente.
Tuttavia, **non alterare l'oggetto `Item` o le sue proprietà** poiché appartengono al goblin nell'angolo, che in un impeto di rabbia ti colpirà perché non crede nella cultura del codice condiviso.
## Note finali:
- Un oggetto non può mai avere un aumento di qualità superiore a 50, tuttavia
- "Sulfuras" è un oggetto leggendario e come tale la sua Qualità è 80 e non si altera mai.