Extract magic strings and numbers

This commit is contained in:
Bjorn Misseghers 2021-04-06 20:10:48 +02:00
parent 8a23641287
commit f1a9242aac

View File

@ -1,6 +1,12 @@
package com.gildedrose; package com.gildedrose;
class GildedRose { class GildedRose {
public static final String ITEM_AGED_BRIE = "Aged Brie";
public static final String ITEM_SULFURAS_HAND_OF_RAGNAROS = "Sulfuras, Hand of Ragnaros";
public static final String ITEM_BACKSTAGE_PASSES = "Backstage passes to a TAFKAL80ETC concert";
public static final int MAX_QUALITY_LEVEL = 50;
public static final int MIN_QUALITY_LEVEL = 0;
Item[] items; Item[] items;
public GildedRose(Item[] items) { public GildedRose(Item[] items) {
@ -9,26 +15,26 @@ class GildedRose {
public void updateQuality() { public void updateQuality() {
for (int i = 0; i < items.length; i++) { for (int i = 0; i < items.length; i++) {
if (!items[i].name.equals("Aged Brie") if (!items[i].name.equals(ITEM_AGED_BRIE)
&& !items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { && !items[i].name.equals(ITEM_BACKSTAGE_PASSES)) {
if (items[i].quality > 0) { if (items[i].quality > MIN_QUALITY_LEVEL) {
if (!items[i].name.equals("Sulfuras, Hand of Ragnaros")) { if (!items[i].name.equals(ITEM_SULFURAS_HAND_OF_RAGNAROS)) {
items[i].quality = items[i].quality - 1; items[i].quality = items[i].quality - 1;
} }
} }
} else { } else {
if (items[i].quality < 50) { if (items[i].quality < MAX_QUALITY_LEVEL) {
items[i].quality = items[i].quality + 1; items[i].quality = items[i].quality + 1;
if (items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { if (items[i].name.equals(ITEM_BACKSTAGE_PASSES)) {
if (items[i].sellIn < 11) { if (items[i].sellIn < 11) {
if (items[i].quality < 50) { if (items[i].quality < MAX_QUALITY_LEVEL) {
items[i].quality = items[i].quality + 1; items[i].quality = items[i].quality + 1;
} }
} }
if (items[i].sellIn < 6) { if (items[i].sellIn < 6) {
if (items[i].quality < 50) { if (items[i].quality < MAX_QUALITY_LEVEL) {
items[i].quality = items[i].quality + 1; items[i].quality = items[i].quality + 1;
} }
} }
@ -36,15 +42,15 @@ class GildedRose {
} }
} }
if (!items[i].name.equals("Sulfuras, Hand of Ragnaros")) { if (!items[i].name.equals(ITEM_SULFURAS_HAND_OF_RAGNAROS)) {
items[i].sellIn = items[i].sellIn - 1; items[i].sellIn = items[i].sellIn - 1;
} }
if (items[i].sellIn < 0) { if (items[i].sellIn < 0) {
if (!items[i].name.equals("Aged Brie")) { if (!items[i].name.equals(ITEM_AGED_BRIE)) {
if (!items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { if (!items[i].name.equals(ITEM_BACKSTAGE_PASSES)) {
if (items[i].quality > 0) { if (items[i].quality > MIN_QUALITY_LEVEL) {
if (!items[i].name.equals("Sulfuras, Hand of Ragnaros")) { if (!items[i].name.equals(ITEM_SULFURAS_HAND_OF_RAGNAROS)) {
items[i].quality = items[i].quality - 1; items[i].quality = items[i].quality - 1;
} }
} }
@ -52,7 +58,7 @@ class GildedRose {
items[i].quality = items[i].quality - items[i].quality; items[i].quality = items[i].quality - items[i].quality;
} }
} else { } else {
if (items[i].quality < 50) { if (items[i].quality < MAX_QUALITY_LEVEL) {
items[i].quality = items[i].quality + 1; items[i].quality = items[i].quality + 1;
} }
} }