From 0815c2719552ae33887227a740d8542e7c3d57ba Mon Sep 17 00:00:00 2001 From: cammp325 <108045774+cammp325@users.noreply.github.com> Date: Sat, 2 Jul 2022 12:49:55 -0400 Subject: [PATCH] further refactor --- .../main/java/com/gildedrose/GildedRose.java | 55 +++++++++---------- 1 file changed, 25 insertions(+), 30 deletions(-) diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index d6c0bafe..c69b501c 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -19,31 +19,26 @@ class GildedRose { } private void updateItemQuality(Item item) { + int adjustment; if (!item.name.equals(AGED_BRIE) && !item.name.equals(BACKSTAGE)) { if (item.quality > 0) { - if (!item.name.equals(SULFURAS)) { - item.quality = item.quality - 1; + if (!item.name.equals(SULFURAS)) { + adjustQuality(item, adjustment=-1); } } - } else { - if (item.quality < 50) { - item.quality = item.quality + 1; + } else { + adjustQuality(item, adjustment=+1); - if (item.name.equals(BACKSTAGE)) { - if (item.sellIn < 11) { - if (item.quality < 50) { - item.quality = item.quality + 1; - } - } - - if (item.sellIn < 6) { - if (item.quality < 50) { - item.quality = item.quality + 1; - } - } + if (item.name.equals(BACKSTAGE)) { + if (item.sellIn < 11) { + adjustQuality(item, adjustment=1); } - } + + if (item.sellIn < 6) { + adjustQuality(item, adjustment=1); + } + } } if (!item.name.equals(SULFURAS)) { @@ -52,26 +47,26 @@ class GildedRose { if (item.sellIn < 0) { if (!item.name.equals(AGED_BRIE)) { - if (!item.name.equals(BACKSTAGE)) { - if (item.quality > 0) { - if (!item.name.equals(SULFURAS)) { - item.quality = item.quality - 1; - } - } + if (!item.name.equals(BACKSTAGE)) { + if (!item.name.equals(SULFURAS)) { + adjustQuality(item, adjustment=-1); + } } else { item.quality = item.quality - item.quality; } - } else { - if (item.quality < 50) { - int adjustment = 1; - adjustQuality(item, adjustment); - } + } else { + int adjustment = 1; + adjustQuality(item, adjustment); } } } public void adjustQuality(Item item, int adjustment) { - item.quality = item.quality + adjustment; + int newQuality = item.quality + adjustment; + boolean isValid = newQuality <= 50 && newQuality >= 0; + if (isValid) { + item.quality = newQuality; + } } public Item[] getItems() {