把每個item的運算都抽成function

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

View File

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