[重構] 合併、減少判斷式層數

This commit is contained in:
wengYuting 2022-04-07 16:53:24 +08:00
parent 05f7cab78b
commit bfb20fbad4

View File

@ -1,5 +1,5 @@
class Item {
constructor(name, sellIn, quality){
constructor(name, sellIn, quality) {
this.name = name;
this.sellIn = sellIn;
this.quality = quality;
@ -7,52 +7,64 @@ class Item {
}
class Shop {
constructor(items=[]){
constructor(items = []) {
this.items = items;
}
/*
反轉負向判定!
中斷程式碼簡化判定
整合判定sellIn 變動提到前面拉齊比對基準
各商品行為抽成單獨的 function
updateQuality => updateItem
*/
updateQuality() {
for (let i = 0; i < this.items.length; i++) {
if (this.items[i].name != 'Aged Brie' && this.items[i].name != 'Backstage passes to a TAFKAL80ETC concert') {
if (this.items[i].quality > 0) {
if (this.items[i].name != 'Sulfuras, Hand of Ragnaros') {
this.items[i].quality = this.items[i].quality - 1;
}
}
} else {
if (
this.items[i].name === "Aged Brie" ||
this.items[i].name === "Backstage passes to a TAFKAL80ETC concert"
) {
if (this.items[i].quality < 50) {
this.items[i].quality = this.items[i].quality + 1;
if (this.items[i].name == 'Backstage passes to a TAFKAL80ETC concert') {
if (this.items[i].sellIn < 11) {
if (this.items[i].quality < 50) {
this.items[i].quality = this.items[i].quality + 1;
}
if (
this.items[i].name == "Backstage passes to a TAFKAL80ETC concert"
) {
if (this.items[i].sellIn < 11 && this.items[i].quality < 50) {
this.items[i].quality = this.items[i].quality + 1;
}
if (this.items[i].sellIn < 6) {
if (this.items[i].quality < 50) {
this.items[i].quality = this.items[i].quality + 1;
}
if (this.items[i].sellIn < 6 && this.items[i].quality < 50) {
this.items[i].quality = this.items[i].quality + 1;
}
}
}
} else if (
this.items[i].quality > 0 &&
this.items[i].name != "Sulfuras, Hand of Ragnaros"
) {
this.items[i].quality = this.items[i].quality - 1;
}
if (this.items[i].name != 'Sulfuras, Hand of Ragnaros') {
if (this.items[i].name != "Sulfuras, Hand of Ragnaros") {
this.items[i].sellIn = this.items[i].sellIn - 1;
}
if (this.items[i].sellIn < 0) {
if (this.items[i].name != 'Aged Brie') {
if (this.items[i].name != 'Backstage passes to a TAFKAL80ETC concert') {
if (this.items[i].quality > 0) {
if (this.items[i].name != 'Sulfuras, Hand of Ragnaros') {
this.items[i].quality = this.items[i].quality - 1;
}
if (this.items[i].name != "Aged Brie") {
if (
this.items[i].name != "Backstage passes to a TAFKAL80ETC concert"
) {
if (
this.items[i].quality > 0 &&
this.items[i].name != "Sulfuras, Hand of Ragnaros"
) {
this.items[i].quality = this.items[i].quality - 1;
}
} else {
this.items[i].quality = this.items[i].quality - this.items[i].quality;
}
} else {
if (this.items[i].quality < 50) {
this.items[i].quality = this.items[i].quality + 1;
this.items[i].quality =
this.items[i].quality - this.items[i].quality;
}
} else if (this.items[i].quality < 50) {
this.items[i].quality = this.items[i].quality + 1;
}
}
}
@ -63,5 +75,5 @@ class Shop {
module.exports = {
Item,
Shop
}
Shop,
};