Важно отметить, что большую часть времени ясность имеет приоритет перед повторным использованием или краткостью. Это один из основных принципов чистого кода. Большинство современных компиляторов в любом случае оптимизируют код, поэтому создание новых переменных не должно быть проблемой.
Прекрасно создать новую переменную, если она внесет ясность в ваш код. Убедитесь, что дали ему значимое имя. Рассмотрим следующую функцию:
public static boolean isLeapYear(final int yyyy) {
if ((yyyy % 4) != 0) {
return false;
}
else if ((yyyy % 400) == 0) {
return true;
}
else if ((yyyy % 100) == 0) {
return false;
}
else {
return true;
}
}
Несмотря на то, что логические выражения используются только один раз, они могут запутать читателя кода. Мы можем переписать его следующим образом:
public static boolean isLeapYear(int year) {
boolean fourth = year % 4 == 0;
boolean hundredth = year % 100 == 0;
boolean fourHundredth = year % 400 == 0;
return fourth && (!hundredth || fourHundredth);
}
Эти логические переменные придают коду большую ясность.
Этот пример взят из книги «Чистый код» Роберта К. Мартина.