diff --git a/Java/README.md b/Java/README.md index ab73c7a6..00265922 100644 --- a/Java/README.md +++ b/Java/README.md @@ -30,4 +30,5 @@ ## Refactoring actions -[x] extract hardcoded variables -[x] create polymorphism for items +-[x] move item names as item members diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index 2ef9c3e6..b7e357d5 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -1,13 +1,13 @@ package com.gildedrose; +import com.gildedrose.item.Backstage; +import com.gildedrose.item.Brie; import com.gildedrose.item.Item; +import com.gildedrose.item.Sulfuras; class GildedRose { Item[] items; - String BRIE = "Aged Brie"; - String BACKSTAGE = "Backstage passes to a TAFKAL80ETC concert"; - String SULFURAS = "Sulfuras, Hand of Ragnaros"; public GildedRose(Item[] items) { this.items = items; @@ -15,10 +15,10 @@ class GildedRose { public void updateQuality() { for (int i = 0; i < items.length; i++) { - if (!items[i].name.equals(BRIE) - && !items[i].name.equals(BACKSTAGE)) { + if (!items[i].name.equals(Brie.BRIE) + && !items[i].name.equals(Backstage.BACKSTAGE)) { if (items[i].quality > 0) { - if (!items[i].name.equals(SULFURAS)) { + if (!items[i].name.equals(Sulfuras.SULFURAS)) { items[i].quality = items[i].quality - 1; } } @@ -26,7 +26,7 @@ class GildedRose { if (items[i].quality < 50) { items[i].quality = items[i].quality + 1; - if (items[i].name.equals(BACKSTAGE)) { + if (items[i].name.equals(Backstage.BACKSTAGE)) { if (items[i].sellIn < 11) { if (items[i].quality < 50) { items[i].quality = items[i].quality + 1; @@ -42,15 +42,15 @@ class GildedRose { } } - if (!items[i].name.equals(SULFURAS)) { + if (!items[i].name.equals(Sulfuras.SULFURAS)) { items[i].sellIn = items[i].sellIn - 1; } if (items[i].sellIn < 0) { - if (!items[i].name.equals(BRIE)) { - if (!items[i].name.equals(BACKSTAGE)) { + if (!items[i].name.equals(Brie.BRIE)) { + if (!items[i].name.equals(Backstage.BACKSTAGE)) { if (items[i].quality > 0) { - if (!items[i].name.equals(SULFURAS)) { + if (!items[i].name.equals(Sulfuras.SULFURAS)) { items[i].quality = items[i].quality - 1; } } diff --git a/Java/src/main/java/com/gildedrose/item/Backstage.java b/Java/src/main/java/com/gildedrose/item/Backstage.java index 28d85eba..958c44e3 100644 --- a/Java/src/main/java/com/gildedrose/item/Backstage.java +++ b/Java/src/main/java/com/gildedrose/item/Backstage.java @@ -1,7 +1,10 @@ package com.gildedrose.item; public class Backstage extends Item { - public Backstage(String name, int sellIn, int quality) { - super(name, sellIn, quality); + + public static String BACKSTAGE = "Backstage passes to a TAFKAL80ETC concert"; + + public Backstage(int sellIn, int quality) { + super(BACKSTAGE, sellIn, quality); } } diff --git a/Java/src/main/java/com/gildedrose/item/Brie.java b/Java/src/main/java/com/gildedrose/item/Brie.java index 9474ac8f..df6c7fe8 100644 --- a/Java/src/main/java/com/gildedrose/item/Brie.java +++ b/Java/src/main/java/com/gildedrose/item/Brie.java @@ -1,7 +1,10 @@ package com.gildedrose.item; public class Brie extends Item { - public Brie(String name, int sellIn, int quality) { - super(name, sellIn, quality); + + public static String BRIE = "Aged Brie"; + + public Brie(int sellIn, int quality) { + super(BRIE, sellIn, quality); } } diff --git a/Java/src/main/java/com/gildedrose/item/Sulfuras.java b/Java/src/main/java/com/gildedrose/item/Sulfuras.java index c11933a9..b065dcc4 100644 --- a/Java/src/main/java/com/gildedrose/item/Sulfuras.java +++ b/Java/src/main/java/com/gildedrose/item/Sulfuras.java @@ -1,7 +1,10 @@ package com.gildedrose.item; public class Sulfuras extends Item { - public Sulfuras(String name, int sellIn, int quality) { - super(name, sellIn, quality); + + public static String SULFURAS = "Sulfuras, Hand of Ragnaros"; + + public Sulfuras(int sellIn, int quality) { + super(SULFURAS, sellIn, quality); } }