Показать сообщение отдельно
Старый 21.02.2009, 15:51
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Ну гм... 5 Проверок значения переменной a:
Код AS1/AS2:
switch a
case break;
case break;
case breakl
...
или

Код AS1/AS2:
if (a==...)
else if (a==...)
else if (a==...)
else if (a==...)
else if (a==...)
Мне последний более понятен - я читаю строчку - я ВИЖУ имя переменной, не смотря вверх - и читаю код более быстро. Это в примере выше все просто, а если команд много - то найти свич - это какое то время, а после нужно вернуться в место case`а. Если есть прокрутка кода (т.е. кода этих условий больше, чем на один экран) - это тратит время, согласитесь.
Но как сказал __etc, раз в байткоде это и есть тонны if`ов, то беспокоиться нечего)
Вдогонку: оператор ? тоже рассматривается как if/else?
И кстати проверяет он условия все сверху вниз? Т.е. наиболее вероятные исходы при if/else if следует разместить в самом первом if, чтобы он не просчитывал остальные?
Ну и ещё вдогонку: есть переменные a и b, оба булевы.
Я пишу:
Код:
if (a && b) ...
но могу ведь и
Код:
if (a){
if (b){
...
}
}
Теперь мне интересно, если a=false, то во 2 случае проверка b вообще производиться не будет. А в 1 случае будет? Если нет - это ведь какая никакая экономия CPU =)