mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-11 04:31:21 +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() {
|
public void updateQuality() {
|
||||||
for (Item item : items) {
|
for (Item item : items) {
|
||||||
boolean isAgedBrie = item.getName().equals("Aged Brie");
|
item.updateItem();
|
||||||
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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,19 +18,60 @@ public class Item {
|
|||||||
return name;
|
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;
|
quality = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deductSellIn() {
|
private void deductSellIn() {
|
||||||
sellIn--;
|
sellIn--;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addOneToQuality() {
|
private void addOneToQuality() {
|
||||||
quality++;
|
quality++;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deductOneFromQuality() {
|
private void deductOneFromQuality() {
|
||||||
quality--;
|
quality--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user