From 45aff46cba2c1d1add5426ed4426f5cb3ca1f10f Mon Sep 17 00:00:00 2001 From: Bart Van der Plancken Date: Thu, 6 Feb 2020 21:51:55 +0100 Subject: [PATCH] refactor determining offSet to lower complexity of main loop --- .../main/java/com/gildedrose/GildedRose.java | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index e99fb013..ac60de4b 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -23,19 +23,12 @@ class GildedRose { if (isEnhancingItem(item)) { int qualityOffset = determineQualityOffset(item); enhanceItem(item, qualityOffset); - if (item.sellIn <= 0) { - if( item.name.equals(AGED_BRIE)) { - enhanceItem(item, 1); - } else { - degradeItem(item, item.quality); - } - - } } else { - degradeItem(item,1); + int qualityOffset = 1; if(item.sellIn <= 0) { - degradeItem(item, 1); + qualityOffset +=1; } + degradeItem(item,qualityOffset); } updateSellInValue(item); @@ -77,17 +70,24 @@ class GildedRose { * @return */ private int determineQualityOffset(Item item) { - int qualityOffsett = 1; + int qualityOffset = 1; if (item.name.equals(BACKSTAGE_PASSES)) { if (isExperingSale(item)) { - qualityOffsett += 1; + qualityOffset += 1; } if (isUrgentSale(item)) { - qualityOffsett += 1; + qualityOffset += 1; } } - return qualityOffsett; + if (item.sellIn <= 0) { + if( item.name.equals(AGED_BRIE)) { + qualityOffset += 1; + } else { + qualityOffset = -item.quality; + } + } + return qualityOffset; } /**