Skip to content

Commit d451495

Browse files
committed
[java] [student_grades] Replace Control Flag With Break Refactoring (refactor)
1 parent 763967a commit d451495

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

examples/java/java-student_grades-04_replace_control_flag/src/main/java/tv/codely/student_grades/StudentGradeCalculator.java

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -30,26 +30,27 @@ public StudentGradeCalculator(final int yearToCalculate) {
3030
}
3131

3232
public float calculateGrades(final List<Pair<Integer, Float>> examsGrades, final boolean hasReachedMinimumClasses) {
33-
if (examsGrades.isEmpty()) {
33+
boolean hasNotDoneAnyExam = examsGrades.isEmpty();
34+
if (hasNotDoneAnyExam) {
3435
return 0f;
3536
}
3637

3738
if (!hasReachedMinimumClasses) {
3839
return 0f;
3940
}
4041

41-
ensureGradesWeightSumIs100percent(examsGrades);
42-
43-
float gradesSum = gradesSum(examsGrades);
42+
ensureGradesWeightsIsValid(examsGrades);
4443

4544
if (hasToIncreaseOneExtraPoint()) {
46-
return Float.min(10f, gradesSum + 1);
45+
float increasedGrade = gradesSum(examsGrades) + 1;
46+
47+
return Float.min(10f, increasedGrade);
4748
}
4849

49-
return gradesSum;
50+
return gradesSum(examsGrades);
5051
}
5152

52-
private void ensureGradesWeightSumIs100percent(List<Pair<Integer, Float>> examsGrades) {
53+
private void ensureGradesWeightsIsValid(List<Pair<Integer, Float>> examsGrades) {
5354
int gradesWeightSum = gradesWeightSum(examsGrades);
5455

5556
if (gradesWeightSum > 100) {
@@ -72,22 +73,21 @@ private int gradesWeightSum(List<Pair<Integer, Float>> examsGrades) {
7273
}
7374

7475
private boolean hasToIncreaseOneExtraPoint() {
75-
boolean hasToIncreaseOneExtraPoint = false;
76-
7776
for (Map.Entry<Integer, List<Pair<String, Boolean>>> yearlyTeachers : allYearsTeachers.entrySet()) {
78-
if (!(yearToCalculate != yearlyTeachers.getKey())) {
79-
List<Pair<String, Boolean>> teachers = yearlyTeachers.getValue();
80-
81-
for (Pair<String, Boolean> teacher : teachers) {
82-
if (teacher.second() != true) {
83-
continue;
84-
}
85-
hasToIncreaseOneExtraPoint = true;
86-
}
87-
} else {
77+
if (yearToCalculate != yearlyTeachers.getKey()) {
8878
continue;
8979
}
80+
81+
List<Pair<String, Boolean>> teachers = yearlyTeachers.getValue();
82+
83+
for (Pair<String, Boolean> teacher : teachers) {
84+
Boolean isBenevolent = teacher.second();
85+
if (isBenevolent) {
86+
return true;
87+
}
88+
}
9089
}
91-
return hasToIncreaseOneExtraPoint;
90+
91+
return false;
9292
}
9393
}

0 commit comments

Comments
 (0)