Reduce nested statement and extract methods

This commit is contained in:
kitfbgh 2022-04-02 11:58:02 +08:00
parent 468ff532ea
commit 9572804f09

View File

@ -24,53 +24,54 @@ final class GildedRose
public function updateQuality(): void
{
foreach ($this->items as $item) {
if ($item->name === 'Sulfuras, Hand of Ragnaros') {
continue;
}
if ($item->name === 'Aged Brie' || $item->name === 'Backstage passes to a TAFKAL80ETC concert') {
if ($item->quality < 50) {
$item->quality = $item->quality + 1;
if ($item->name === 'Backstage passes to a TAFKAL80ETC concert') {
if ($item->sellIn < 11) {
if ($item->quality < 50) {
$item->quality = $item->quality + 1;
}
$this->increaseQuality($item);
}
if ($item->sellIn < 6) {
if ($item->quality < 50) {
$item->quality = $item->quality + 1;
}
$this->increaseQuality($item);
}
}
}
} else {
if ($item->quality > 0) {
if ($item->name !== 'Sulfuras, Hand of Ragnaros') {
$item->quality = $item->quality - 1;
}
}
$this->decreaseQuality($item);
}
if ($item->name === 'Sulfuras, Hand of Ragnaros') {
} else {
$item->sellIn = $item->sellIn - 1;
}
$item->sellIn = $item->sellIn - 1;
if ($item->sellIn < 0) {
if ($item->name === 'Aged Brie') {
if ($item->quality < 50) {
$item->quality = $item->quality + 1;
}
$this->increaseQuality($item);
} else {
if ($item->name === 'Backstage passes to a TAFKAL80ETC concert') {
$item->quality = $item->quality - $item->quality;
} else {
if ($item->quality > 0) {
if ($item->name === 'Sulfuras, Hand of Ragnaros') {
} else {
$item->quality = $item->quality - 1;
}
}
$this->decreaseQuality($item);
}
}
}
}
}
private function increaseQuality(Item &$item): void
{
if ($item->quality >= 50) {
return;
}
$item->quality += 1;
}
private function decreaseQuality(Item &$item): void
{
if ($item->quality > 0) {
$item->quality -= 1;
}
}
}