From 8b94d335e8b726c48daeb54cd266e707b984c20b Mon Sep 17 00:00:00 2001 From: Bjorn Misseghers Date: Tue, 6 Apr 2021 20:14:21 +0200 Subject: [PATCH] Dont get item from array every time --- .../main/java/com/gildedrose/GildedRose.java | 51 ++++++++++--------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index 154b4fac..59f8a8d3 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -15,51 +15,52 @@ class GildedRose { public void updateQuality() { for (int i = 0; i < items.length; i++) { - if (!items[i].name.equals(ITEM_AGED_BRIE) - && !items[i].name.equals(ITEM_BACKSTAGE_PASSES)) { - if (items[i].quality > MIN_QUALITY_LEVEL) { - if (!items[i].name.equals(ITEM_SULFURAS_HAND_OF_RAGNAROS)) { - items[i].quality = items[i].quality - 1; + final Item currentItem = items[i]; + if (!currentItem.name.equals(ITEM_AGED_BRIE) + && !currentItem.name.equals(ITEM_BACKSTAGE_PASSES)) { + if (currentItem.quality > MIN_QUALITY_LEVEL) { + if (!currentItem.name.equals(ITEM_SULFURAS_HAND_OF_RAGNAROS)) { + currentItem.quality = currentItem.quality - 1; } } } else { - if (items[i].quality < MAX_QUALITY_LEVEL) { - items[i].quality = items[i].quality + 1; + if (currentItem.quality < MAX_QUALITY_LEVEL) { + currentItem.quality = currentItem.quality + 1; - if (items[i].name.equals(ITEM_BACKSTAGE_PASSES)) { - if (items[i].sellIn < 11) { - if (items[i].quality < MAX_QUALITY_LEVEL) { - items[i].quality = items[i].quality + 1; + if (currentItem.name.equals(ITEM_BACKSTAGE_PASSES)) { + if (currentItem.sellIn < 11) { + if (currentItem.quality < MAX_QUALITY_LEVEL) { + currentItem.quality = currentItem.quality + 1; } } - if (items[i].sellIn < 6) { - if (items[i].quality < MAX_QUALITY_LEVEL) { - items[i].quality = items[i].quality + 1; + if (currentItem.sellIn < 6) { + if (currentItem.quality < MAX_QUALITY_LEVEL) { + currentItem.quality = currentItem.quality + 1; } } } } } - if (!items[i].name.equals(ITEM_SULFURAS_HAND_OF_RAGNAROS)) { - items[i].sellIn = items[i].sellIn - 1; + if (!currentItem.name.equals(ITEM_SULFURAS_HAND_OF_RAGNAROS)) { + currentItem.sellIn = currentItem.sellIn - 1; } - if (items[i].sellIn < 0) { - if (!items[i].name.equals(ITEM_AGED_BRIE)) { - if (!items[i].name.equals(ITEM_BACKSTAGE_PASSES)) { - if (items[i].quality > MIN_QUALITY_LEVEL) { - if (!items[i].name.equals(ITEM_SULFURAS_HAND_OF_RAGNAROS)) { - items[i].quality = items[i].quality - 1; + if (currentItem.sellIn < 0) { + if (!currentItem.name.equals(ITEM_AGED_BRIE)) { + if (!currentItem.name.equals(ITEM_BACKSTAGE_PASSES)) { + if (currentItem.quality > MIN_QUALITY_LEVEL) { + if (!currentItem.name.equals(ITEM_SULFURAS_HAND_OF_RAGNAROS)) { + currentItem.quality = currentItem.quality - 1; } } } else { - items[i].quality = items[i].quality - items[i].quality; + currentItem.quality = currentItem.quality - currentItem.quality; } } else { - if (items[i].quality < MAX_QUALITY_LEVEL) { - items[i].quality = items[i].quality + 1; + if (currentItem.quality < MAX_QUALITY_LEVEL) { + currentItem.quality = currentItem.quality + 1; } } }