mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-04 09:11:39 +00:00
refactor: for loop's content can be moved to item
This commit is contained in:
parent
d66943f0f4
commit
35d648a4c6
@ -9,45 +9,7 @@ class GildedRose {
|
||||
|
||||
public void updateQuality() {
|
||||
for (Item item : items) {
|
||||
boolean isAgedBrie = item.getName().equals("Aged Brie");
|
||||
boolean isSulfuras = item.getName().equals("Sulfuras, Hand of Ragnaros");
|
||||
boolean passesToTafkalConcert = item.getName().equals("Backstage passes to a TAFKAL80ETC concert");
|
||||
|
||||
if (!isAgedBrie && !passesToTafkalConcert) {
|
||||
if (item.quality > 0 && !isSulfuras) {
|
||||
item.deductOneFromQuality();
|
||||
}
|
||||
} else if(item.quality < 50) {
|
||||
item.addOneToQuality();
|
||||
|
||||
if (passesToTafkalConcert) {
|
||||
if (item.sellIn < 11 && item.quality < 50) {
|
||||
item.addOneToQuality();
|
||||
}
|
||||
|
||||
if (item.sellIn < 6 && item.quality < 50) {
|
||||
item.addOneToQuality();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!isSulfuras) {
|
||||
item.deductSellIn();
|
||||
}
|
||||
|
||||
if (item.sellIn < 0) {
|
||||
if (!isAgedBrie) {
|
||||
if (!passesToTafkalConcert) {
|
||||
if (item.quality > 0 && !isSulfuras) {
|
||||
item.deductOneFromQuality();
|
||||
}
|
||||
} else {
|
||||
item.setQualityToZero();
|
||||
}
|
||||
} else if ((item.quality < 50)) {
|
||||
item.addOneToQuality();
|
||||
}
|
||||
}
|
||||
item.updateItem();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,19 +18,60 @@ public class Item {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setQualityToZero() {
|
||||
public void updateItem() {
|
||||
boolean isAgedBrie = name.equals("Aged Brie");
|
||||
boolean isSulfuras = name.equals("Sulfuras, Hand of Ragnaros");
|
||||
boolean isBackStagePass = name.equals("Backstage passes to a TAFKAL80ETC concert");
|
||||
|
||||
if (!isAgedBrie && !isBackStagePass) {
|
||||
if (quality > 0 && !isSulfuras) {
|
||||
deductOneFromQuality();
|
||||
}
|
||||
} else if(quality < 50) {
|
||||
addOneToQuality();
|
||||
if (isBackStagePass) {
|
||||
if (sellIn < 11 && quality < 50) {
|
||||
addOneToQuality();
|
||||
}
|
||||
|
||||
if (sellIn < 6 && quality < 50) {
|
||||
addOneToQuality();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!isSulfuras) {
|
||||
deductSellIn();
|
||||
}
|
||||
|
||||
if (sellIn < 0) {
|
||||
if (!isAgedBrie) {
|
||||
if (!isBackStagePass) {
|
||||
if (quality > 0 && !isSulfuras) {
|
||||
deductOneFromQuality();
|
||||
}
|
||||
} else {
|
||||
setQualityToZero();
|
||||
}
|
||||
} else if ((quality < 50)) {
|
||||
addOneToQuality();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setQualityToZero() {
|
||||
quality = 0;
|
||||
}
|
||||
|
||||
public void deductSellIn() {
|
||||
private void deductSellIn() {
|
||||
sellIn--;
|
||||
}
|
||||
|
||||
public void addOneToQuality() {
|
||||
private void addOneToQuality() {
|
||||
quality++;
|
||||
}
|
||||
|
||||
public void deductOneFromQuality() {
|
||||
private void deductOneFromQuality() {
|
||||
quality--;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user