За свитч-кейс убивать сразу, это заразно.

Ято Ява-оптимизаторы такое любят, т.как в ней написать обработчик события - это цельный класс с методами и имплементациями и т.п. Во флеше обработчик - это всего одна функция! А свитч искажает логику программы, усложняет тестирование и вообще чтение, при том, что если и есть какая-то разница в производительности - она на столько минимальна, что вы ее никогда не увидите. И шансы за то, что в том же свитче в итоге будут сделаны лишние телодвижения, которые эту самую производительность снова просадят.
Т.е. сравните:

Код AS3:
function close_clickHandler(event:Event):void {}
function open_clickHandler(event:Event):void {}
// и
function clickHandler(event:Event):void
{
switch (event.target)
{
case foo:
break;
case bar:
break;
default: trace("???");
}
}
Т.е. в первом случае логика работает железно: нажали на "close" -> попали в обработчик "close". В то время как во втором случае: нажали на "close" -> попали в неизвесный обработчик, где усилием воли мы разгадали, что же нужно делать. Но в последнем случае имеем еще одно логическое несоответсвие - у написаной нами фунции есть избыточный фунционал. А именно default кейс. А нужен он исходя из ТЗ? - нет. Помогает ли он функции работать лучше? - нет, даже наоборот, оставляет простор для ошибок и последующего неправильного ее использования. Кроме того, эта функция может "вдруг" быть переопределена в классе наследнике. И класс-наследник "вдруг" будет зависеть от ее результатов, но его абсолютно не интересует, что происходит с кнопкой open, а возможно и нет у него такой - а в этой функции она есть! И в тот момент, когда класс-наследник случайно удалит foo, то оба кейса будут указывать на один и тот же объект (null), что почти наверняка создаст аварийную ситуацию, которую, кроме всего прочего тяжело выявить.
Вот так вот.
