From f7f05299602c745e936769b5592c9f3c8dd500ef Mon Sep 17 00:00:00 2001 From: elieser pereira Date: Tue, 10 Nov 2020 22:23:06 -0300 Subject: [PATCH] reduce duplication and minimal improve --- go/gilded-rose.go | 59 +++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/go/gilded-rose.go b/go/gilded-rose.go index bac4c479..e95e62bd 100644 --- a/go/gilded-rose.go +++ b/go/gilded-rose.go @@ -4,35 +4,42 @@ type Item struct { name string 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) { 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].quality > 0 { - 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 - } - } - } + ReduceSulfuraConjureAndOthersQuality(items[i]) } else { if items[i].quality < 50 { items[i].quality = items[i].quality + 1 - if items[i].name == "Backstage passes to a TAFKAL80ETC concert" { - 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 - } - } - } + ExtraBackstageOperations(items[i]) } } @@ -43,15 +50,7 @@ func UpdateQuality(items []*Item) { if items[i].sellIn < 0 { if items[i].name != "Aged Brie" { if items[i].name != "Backstage passes to a TAFKAL80ETC concert" { - if items[i].quality > 0 { - 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 - } - } - } + ReduceSulfuraConjureAndOthersQuality(items[i]) } else { items[i].quality = items[i].quality - items[i].quality }