move item names to objects

This commit is contained in:
Sallah Kokaina 2019-11-01 18:15:00 +01:00
parent a7df25458d
commit 871cc40b41
5 changed files with 27 additions and 17 deletions

View File

@ -30,4 +30,5 @@
## Refactoring actions
-[x] extract hardcoded variables
-[x] create polymorphism for items
-[x] move item names as item members

View File

@ -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;
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}