refactor determining offSet to lower complexity of main loop

This commit is contained in:
Bart Van der Plancken 2020-02-06 21:51:55 +01:00
parent 30a03a10d5
commit 45aff46cba

View File

@ -23,19 +23,12 @@ class GildedRose {
if (isEnhancingItem(item)) { if (isEnhancingItem(item)) {
int qualityOffset = determineQualityOffset(item); int qualityOffset = determineQualityOffset(item);
enhanceItem(item, qualityOffset); enhanceItem(item, qualityOffset);
if (item.sellIn <= 0) {
if( item.name.equals(AGED_BRIE)) {
enhanceItem(item, 1);
} else { } else {
degradeItem(item, item.quality); int qualityOffset = 1;
}
}
} else {
degradeItem(item,1);
if(item.sellIn <= 0) { if(item.sellIn <= 0) {
degradeItem(item, 1); qualityOffset +=1;
} }
degradeItem(item,qualityOffset);
} }
updateSellInValue(item); updateSellInValue(item);
@ -77,17 +70,24 @@ class GildedRose {
* @return * @return
*/ */
private int determineQualityOffset(Item item) { private int determineQualityOffset(Item item) {
int qualityOffsett = 1; int qualityOffset = 1;
if (item.name.equals(BACKSTAGE_PASSES)) { if (item.name.equals(BACKSTAGE_PASSES)) {
if (isExperingSale(item)) { if (isExperingSale(item)) {
qualityOffsett += 1; qualityOffset += 1;
} }
if (isUrgentSale(item)) { if (isUrgentSale(item)) {
qualityOffsett += 1; qualityOffset += 1;
} }
} }
return qualityOffsett; if (item.sellIn <= 0) {
if( item.name.equals(AGED_BRIE)) {
qualityOffset += 1;
} else {
qualityOffset = -item.quality;
}
}
return qualityOffset;
} }
/** /**