breaking down more scopes

breaking down the Gilded Rose class to several methods for a better approach
This commit is contained in:
Trobax 2022-11-23 16:52:22 +01:00
parent aefb4310a9
commit 7422960de8

View File

@ -15,27 +15,9 @@ class GildedRose {
private static void updateItem(Item item) {
updateQuality(item);
if (!item.name.equals("Sulfuras, Hand of Ragnaros")) {
item.sellIn--;
}
if (item.sellIn < 0) {
if (!item.name.equals("Aged Brie")) {
if (!item.name.equals("Backstage passes to a TAFKAL80ETC concert")) {
if (item.quality > 0) {
if (!item.name.equals("Sulfuras, Hand of Ragnaros")) {
item.quality--;
}
}
} else {
item.quality = 0;
}
} else {
if (item.quality < 50) {
item.quality++;
}
}
updateSelling(item);
if (isExpired(item)) {
updateExpired(item);
}
}
@ -67,4 +49,32 @@ class GildedRose {
}
}
}
private static void updateSelling(Item item) {
if (!item.name.equals("Sulfuras, Hand of Ragnaros")) {
item.sellIn--;
}
}
private static boolean isExpired(Item item) {
return item.sellIn < 0;
}
private static void updateExpired(Item item) {
if (!item.name.equals("Aged Brie")) {
if (!item.name.equals("Backstage passes to a TAFKAL80ETC concert")) {
if (item.quality > 0) {
if (!item.name.equals("Sulfuras, Hand of Ragnaros")) {
item.quality--;
}
}
} else {
item.quality = 0;
}
} else {
if (item.quality < 50) {
item.quality++;
}
}
}
}