1. Согласен с тем что выходить нужно как можно быстрее. Поэтому лучше как-то так:
if(foo != bar || foo < 1) {
return false;
}
// логика
return true;
2. Деление условий должно быть осмысленно с точки зрения бизнес-логики. Если условие foo != bar || foo < 1 является целостным и неделимым с точки зрения бизнес логики, то лучше его не делить.
Если же это 2 разных условия (две разных ситуции), просто скомпонованных в одно условие, то вполне допустимо их разделить для логического выделения (опять таки с точки зрения бизнес-логики). Например, если foo - кол-во товаров в заказе, a bar - кол-во товаров при котором дается скидка (не больше не меньше):
// кол-во товара в корзине != кол-ву товара при котором делается скидка
if(foo != bar){
return false;
}
// если корзина вообще пуста
if(foo < 1){
return false
}
// применение скидки к заказу
return true;