Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
private function getListenerIndex(func:Function):Number
{
var num:Number = -1;
for(var i:int = 0; i < mouseWheelListeners.length; i++)
{
if(func == mouseWheelListeners[i])
{
num = i;
break;
}
}
return num;
}
public function addMouseWheelListener(subscriberFunc:Function):void
{
if(getListenerIndex(subscriberFunc) == -1)
mouseWheelListeners.push(subscriberFunc);
}
Отдельного внимания заслуживает тот факт, что человек решил, что индексов в массиве не будет больше чем максимальное цело 32-битное знаковое, и не меньше чем минимальное, а вернул все равно Number. (Для не разбирающихся в AS3 есть Array.indexOf(), метод который делает то, что делает getListenerIndex() в данном примере, только быстрее, и называется по-человечески. Но автор считает, что мануал написан для идиотов...)
Комментарии (1) RSS