Итак, переписывая код, я наткнулся на что-то вроде:
Метод 1
while ( iter.hasNext() ) {
Object obj = iter.next();
if ( obj instanceof Something ) {
returnValue = (Something) obj;
break;
}
}
Я переписал это как следующее, не задумываясь (реальная цель переписывания была для другой логики в этом методе):
Метод 2
while ( (iter.hasNext()) && (returnValue == null) ) {
Object obj = iter.next();
if ( obj instanceof Something ) {
returnValue = (Something) obj;
}
}
Лично у меня нет сильных предпочтений, и я не вижу в этом ничего плохого. Может ли кто-нибудь еще думать о преимуществах или последствиях использования любого из этих подходов? Переменная returnValue возвращается. Что бы чувствовали люди, если бы это был последний блок в методе, и он только что вернулся?
РЕДАКТИРОВАТЬ: Итак, вот что я делаю: в настоящее время этот метод берет набор авторизаций и проверяет их - возвращает логическое значение. Этот метод позволяет группировать, так что вы можете указать, по крайней мере, один или все (то есть, если хотя бы одна авторизация действительна, передайте весь набор). Однако этот метод не поддерживает уровни авторизации, что я и изменяю, чтобы каждый уровень мог указывать различные группы. Все эти биты являются просто справочной информацией ... не имеет ничего общего с приведенным выше кодом - альтернативный метод используется для выполнения вышеуказанного блока кода.