From 0d4fc9366695c8d56e9845a9d5460b489e37909d Mon Sep 17 00:00:00 2001 From: Bart Van der Plancken Date: Tue, 4 Feb 2020 22:24:22 +0100 Subject: [PATCH] First refactoring - reduce complexity by introducing submethods --- .../main/java/com/gildedrose/GildedRose.java | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index dea72dd4..d8a8d883 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -17,12 +17,10 @@ class GildedRose { if(isLegendaryItem(item)) { continue; } - if (!isEnhancingItem(item)) { - if (item.quality > 0) { - item.quality = item.quality - 1; - } + if (isEnhancingItem(item)) { + enhanceItem(item); } else { - changeQualityOfBrieAndBackstagePasses(item); + degradeItem(item); } updateSellInValue(item); @@ -30,19 +28,24 @@ class GildedRose { if (item.sellIn < 0) { if (!item.name.equals("Aged Brie")) { if (!item.name.equals(BACKSTAGE_PASSES)) { - if (item.quality > 0) { - item.quality = item.quality - 1; - } + degradeItem(item); } else { item.quality = 0; } - } else if (item.quality < 50) { - item.quality = item.quality + 1; + } else { + item.quality = Integer.min(item.quality + 1,50); } } } } + /** + * @param item + */ + private void degradeItem(Item item) { + item.quality = Integer.max(0, item.quality - 1); + } + /** * @param item * @return @@ -62,7 +65,7 @@ class GildedRose { /** * @param item */ - private void changeQualityOfBrieAndBackstagePasses(Item item) { + private void enhanceItem(Item item) { if (item.quality < 50) { item.quality = item.quality + 1;