Читабельность любого кода это больше привычка форматировать код и давать понятные наименования переменным и командам, чем выбирать каким операторами его записывать).
На сколько мне известно анализ любого логического условия выполняется до тех пор пока у результата есть неопределенность:
1. a && b при a=false не будет дальше анализировать b, это излишняя операция
2. a || b при a=true не будет дальше анализировать b, это излишняя операция
и т.д.
Я придерживаюсь такой методики: Если условие простое и выполняется в одну операцию то стараюсь выполнять при помощи ? или if. Когда подразумевается многоступенчатая проверка if elseif ... то предпочитаю switch.
На счет того что не видно какие условия проверки есть простой прием

Код AS3:
var obj:* = event.target;
switch (true)
{
case obj is Map:
map = obj as Map;
currentScroll = map;
addEventListener(NavigatorEvents.MOUSE_OVER, hnMouseOverChildControl);
break;
case obj is Classificator:
classificator = obj as Classificator;
break;
case obj is ButtonScaleDown:
btnScaleDown = obj as ButtonScaleDown;
addEventListener(NavigatorEvents.SCALE_DOWN_START, hnScaleDownStart);
addEventListener(NavigatorEvents.SCALE_DOWN_STOP, hnScaleStop);
addEventListener(NavigatorEvents.SCALE_DOWN_ENABLED, hnScaleDownEnabled);
addEventListener(NavigatorEvents.SCALE_DOWN_NOT_ENABLED, hnScaleDownNotEnabled);
break;
case obj is ButtonScaleUp:
btnScaleUp = obj as ButtonScaleUp;
addEventListener(NavigatorEvents.SCALE_UP_START, hnScaleUpStart);
addEventListener(NavigatorEvents.SCALE_UP_STOP, hnScaleStop);
addEventListener(NavigatorEvents.SCALE_UP_ENABLED, hnScaleUpEnabled);
addEventListener(NavigatorEvents.SCALE_UP_NOT_ENABLED, hnScaleUpNotEnabled);
break;
default:
throw Error('Неопознанный контрол.');
}
Мне читать такой код проще чем череду из if. Сразу видно что и с чем работает. И секцию если она не отрабатывает проще пропустить и найти следующую. И потом у свитча есть такая полезная функция как объединение нескольких условий по пропуску break, что тоже облегчает чтение чем разбирать какие из вложенных if будут работать а какие нет.