把每個item的運算都抽成function

This commit is contained in:
liaolizhen 2020-08-13 17:50:04 +08:00
parent 31f7d222ea
commit 98ff07fb44

View File

@ -18,33 +18,49 @@ class GildedRose {
return;
}
item.sellIn = item.sellIn - 1;
if (item.name.equals("Aged Brie")) {
increaseQuality(item);
if (item.sellIn < 0) {
increaseQuality(item);
}
updateAgedBrie(item);
} else if (item.name.equals("Backstage passes to a TAFKAL80ETC concert")) {
increaseQuality(item);
if (item.sellIn < 10) {
increaseQuality(item);
}
if (item.sellIn < 5) {
increaseQuality(item);
}
if (item.sellIn < 0) {
item.quality = item.quality - item.quality;
}
updateBackstagePasses(item);
} else {
updateNormal(item);
}
}
private void updateBackstagePasses(Item item) {
item.sellIn = item.sellIn - 1;
increaseQuality(item);
if (item.sellIn < 10) {
increaseQuality(item);
}
if (item.sellIn < 5) {
increaseQuality(item);
}
if (item.sellIn < 0) {
item.quality = item.quality - item.quality;
}
}
private void updateNormal(Item item) {
item.sellIn = item.sellIn - 1;
decreaseQuality(item);
if (item.sellIn < 0) {
decreaseQuality(item);
if (item.sellIn < 0) {
decreaseQuality(item);
}
}
}
private void updateAgedBrie(Item item) {
item.sellIn = item.sellIn - 1;
increaseQuality(item);
if (item.sellIn < 0) {
increaseQuality(item);
}
}