Skip to content

Commit 4492891

Browse files
committed
Step #A3-10: Simplifying code more
1 parent a7dc506 commit 4492891

File tree

1 file changed

+47
-45
lines changed

1 file changed

+47
-45
lines changed

Gilded Rose/src/main/java/com/gildedrose/GildedRose.java

Lines changed: 47 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -14,62 +14,64 @@ public GildedRose(Item[] items) {
1414
}
1515

1616
public void updateQuality() {
17-
for (int i = 0; i < items.length; i++) {
18-
final Item item = items[i];
19-
if (isNormalItem(item)) {
20-
handleNormalItem(item);
21-
} else if (isAgedBrie(item)) {
22-
handleAgedBrie(item);
23-
} else if (isBackstagePasses(item)) {
24-
handleBackstagePasses(item);
25-
} else if (isSulfuras(item)) {
26-
handleSulfuras(item);
27-
}
17+
for (final Item item : items) {
18+
handleIfNormalItem(item);
19+
handleIfAgedBrie(item);
20+
handleIfBackstagePasses(item);
21+
handleIfSulfuras(item);
2822
}
2923
}
3024

31-
private void handleSulfuras(Item item) {
32-
// We always write the least amount of code to make the pin-down
33-
// tests go green. In this case, we didn't have to write any
34-
// code -- so this is the correct solution.
25+
private void handleIfSulfuras(Item item) {
26+
if (isSulfuras(item)) {
27+
// We always write the least amount of code to make the pin-down
28+
// tests go green. In this case, we didn't have to write any
29+
// code -- so this is the correct solution.
30+
}
3531
}
3632

37-
private void handleBackstagePasses(Item item) {
38-
item.sellIn--;
39-
if (item.sellIn <= 0) {
40-
item.quality = 0;
41-
} else if (item.sellIn < BACKSTAGE_PASS_THRESHOLD2) {
42-
item.quality = item.quality + 3;
43-
} else if (item.sellIn < BACKSTAGE_PASS_THRESHOLD1) {
44-
item.quality = item.quality + 2;
45-
} else {
46-
item.quality++;
47-
}
48-
if (item.quality > MAXIMUM_QUALITY) {
49-
item.quality = MAXIMUM_QUALITY;
33+
private void handleIfBackstagePasses(Item item) {
34+
if (isBackstagePasses(item)) {
35+
item.sellIn--;
36+
if (item.sellIn <= 0) {
37+
item.quality = 0;
38+
} else if (item.sellIn < BACKSTAGE_PASS_THRESHOLD2) {
39+
item.quality = item.quality + 3;
40+
} else if (item.sellIn < BACKSTAGE_PASS_THRESHOLD1) {
41+
item.quality = item.quality + 2;
42+
} else {
43+
item.quality++;
44+
}
45+
if (item.quality > MAXIMUM_QUALITY) {
46+
item.quality = MAXIMUM_QUALITY;
47+
}
5048
}
5149
}
5250

53-
private void handleAgedBrie(Item item) {
54-
item.sellIn--;
55-
if (item.sellIn <= 0) {
56-
item.quality = item.quality + 2;
57-
} else {
58-
item.quality++;
59-
}
60-
if (item.quality > MAXIMUM_QUALITY) {
61-
item.quality = MAXIMUM_QUALITY;
51+
private void handleIfAgedBrie(Item item) {
52+
if (isAgedBrie(item)) {
53+
item.sellIn--;
54+
if (item.sellIn <= 0) {
55+
item.quality = item.quality + 2;
56+
} else {
57+
item.quality++;
58+
}
59+
if (item.quality > MAXIMUM_QUALITY) {
60+
item.quality = MAXIMUM_QUALITY;
61+
}
6262
}
6363
}
6464

65-
private void handleNormalItem(Item item) {
66-
item.sellIn--;
67-
if (item.sellIn <= 0) {
68-
item.quality -= 2;
69-
} else {
70-
item.quality--;
65+
private void handleIfNormalItem(Item item) {
66+
if (isNormalItem(item)) {
67+
item.sellIn--;
68+
if (item.sellIn <= 0) {
69+
item.quality -= 2;
70+
} else {
71+
item.quality--;
72+
}
73+
if (item.quality < 0) item.quality = 0;
7174
}
72-
if (item.quality < 0) item.quality = 0;
7375
}
7476

7577
private boolean isNormalItem(Item item) {
@@ -87,4 +89,4 @@ private boolean isSulfuras(Item item) {
8789
private boolean isAgedBrie(Item item) {
8890
return item.name.equals(AGED_BRIE);
8991
}
90-
}
92+
}

0 commit comments

Comments
 (0)