Ну, логика, конечно, могла бы быть упрощенной немного: если вы осторожно пишете последовательность if..else if
в порядке убывания, ваша логика может быть просто:
/* CAUTION: KEEP IN DESCENDING ORDER! ... yes, add this comment! */
if (average >= 9.0) {
}
else if (average >= 8.5) {
}
... и так далее. (что также делает каждое из if
-условий непротиворечивым.)
Теперь, будьте очень осторожны, чтобы ваше дело else
сделало все то же, что и все остальные дела: ему следует присвоить значения d
и total
.Он должен «выглядеть точно так же, как и все остальные».
Кроме того, я, вероятно, не изменил бы ни одной вещи, и вот почему: логика теперь «довольно очевидна на первый взгляд» и каждый из случаев явно независим.Если «отдел маркетинга» неожиданно выдвигает грандиозную новую идею, которая применима только к некоторым случаям, но не к другим ... (а отделы маркетинга всегда так) ... вы застрахованы.Будущие программисты могут просто «делать небольшие целевые коммиты» для этой логики, и им никогда не придется переписывать ее.