Я думаю, что вы спрашиваете, почему у вас есть концептуальная проблема с ним.
Я думаю, что основная проблема заключается в том, что когда вы прямо возвращаете логическое значение, вы что-то упускаете, и это так. Это имя метода в вашем случае.
Ваш LooksBetter ничего не значит. То, что вы действительно думаете, это:
boolean isEarlier(Time a, Time b) {
if(a < b) //for simplicity let's ignore that this won't work.
return true;
else
return false;
}
Теперь вы можете уменьшить это до:
boolean isEarlier=a < b;
Хм, теперь мы можем видеть, что a раньше, чем b, и это то, что означает промежуточное значение isEarlier.
Так что если вы как-то усвоили это промежуточное значение, это имеет больше смысла:
boolean isEarlier(Time a, Time b) {
return a < b;
}
Вы должны думать об этом "логическом" как о реальной ценности, а не просто как о каком-то промежуточном состоянии. Если вам неудобно, не стесняйтесь делать его переменным (это действительно ничего не стоит и может сделать его более читабельным для вас прямо сейчас).
Позже вы оглянетесь на свой код и почувствуете себя более комфортно при более коротком взгляде на него. В большинстве случаев вашему разуму требуется время, чтобы вырастить несколько новых путей, не стесняйтесь в это время быть явными.