mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-16 06:51:27 +00:00
reduce duplication and minimal improve
This commit is contained in:
parent
a07bfdf852
commit
f7f0529960
@ -4,35 +4,42 @@ type Item struct {
|
|||||||
name string
|
name string
|
||||||
sellIn, quality int
|
sellIn, quality int
|
||||||
}
|
}
|
||||||
|
func ReduceSulfuraConjureAndOthersQuality(item *Item) {
|
||||||
|
if item.quality > 0 {
|
||||||
|
if item.name != "Sulfuras, Hand of Ragnaros" {
|
||||||
|
if item.name == "Conjured Mana Cake" {
|
||||||
|
item.quality = item.quality - 2
|
||||||
|
} else {
|
||||||
|
item.quality = item.quality - 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func ExtraBackstageOperations(item *Item){
|
||||||
|
if item.name == "Backstage passes to a TAFKAL80ETC concert" {
|
||||||
|
if item.sellIn < 11 {
|
||||||
|
if item.quality < 50 {
|
||||||
|
item.quality = item.quality + 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if item.sellIn < 6 {
|
||||||
|
if item.quality < 50 {
|
||||||
|
item.quality = item.quality + 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func UpdateQuality(items []*Item) {
|
func UpdateQuality(items []*Item) {
|
||||||
for i := 0; i < len(items); i++ {
|
for i := 0; i < len(items); i++ {
|
||||||
|
|
||||||
if items[i].name != "Aged Brie" && items[i].name != "Backstage passes to a TAFKAL80ETC concert" {
|
if items[i].name != "Aged Brie" && items[i].name != "Backstage passes to a TAFKAL80ETC concert" {
|
||||||
if items[i].quality > 0 {
|
ReduceSulfuraConjureAndOthersQuality(items[i])
|
||||||
if items[i].name != "Sulfuras, Hand of Ragnaros" {
|
|
||||||
if items[i].name == "Conjured Mana Cake" {
|
|
||||||
items[i].quality = items[i].quality - 2
|
|
||||||
} else {
|
|
||||||
items[i].quality = items[i].quality - 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if items[i].quality < 50 {
|
if items[i].quality < 50 {
|
||||||
items[i].quality = items[i].quality + 1
|
items[i].quality = items[i].quality + 1
|
||||||
if items[i].name == "Backstage passes to a TAFKAL80ETC concert" {
|
ExtraBackstageOperations(items[i])
|
||||||
if items[i].sellIn < 11 {
|
|
||||||
if items[i].quality < 50 {
|
|
||||||
items[i].quality = items[i].quality + 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if items[i].sellIn < 6 {
|
|
||||||
if items[i].quality < 50 {
|
|
||||||
items[i].quality = items[i].quality + 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,15 +50,7 @@ func UpdateQuality(items []*Item) {
|
|||||||
if items[i].sellIn < 0 {
|
if items[i].sellIn < 0 {
|
||||||
if items[i].name != "Aged Brie" {
|
if items[i].name != "Aged Brie" {
|
||||||
if items[i].name != "Backstage passes to a TAFKAL80ETC concert" {
|
if items[i].name != "Backstage passes to a TAFKAL80ETC concert" {
|
||||||
if items[i].quality > 0 {
|
ReduceSulfuraConjureAndOthersQuality(items[i])
|
||||||
if items[i].name != "Sulfuras, Hand of Ragnaros" {
|
|
||||||
if items[i].name == "Conjured Mana Cake" {
|
|
||||||
items[i].quality = items[i].quality - 2
|
|
||||||
} else {
|
|
||||||
items[i].quality = items[i].quality - 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
items[i].quality = items[i].quality - items[i].quality
|
items[i].quality = items[i].quality - items[i].quality
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user