@vasIvas

Это говнокод или фича?

switch (len) {
case 1: return listeners.fn.call(listeners.context), true;
case 2: return listeners.fn.call(listeners.context, a1), true;
case 3: return listeners.fn.call(listeners.context, a1, a2), true;
case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;
case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
}

Это говнокод или опять фича такая?
  • Вопрос задан
  • 527 просмотров
Решения вопроса 4
hahenty
@hahenty
('•')
это фичи, переваренные в говнокод.
Ответ написан
Комментировать
Maxsior
@Maxsior
loading...
Ну, можно написать рациональнее и универсальнее:
var a=[null,a1,a2,a3,a4,a5];
var args=[];
for(var i=1;i<len;i++) args.append(a[i]);
listeners.fn.apply(listeners.context, args);

P. S. =)
Ответ написан
DIITHiTech
@DIITHiTech
Fullstack javascript developer
Вероятно, это оптимизация производительности критического участка кода, довольно часто используется разработчиками соответствующего уровня при написании библиотек и фреймворков. В некоторых случаях switch производительнее условных конструкций, тем более любых других реализаций, с более читабельным либо "рациональным" видом.
Ответ написан
Комментировать
@webdiez
Меня все знают как WebDiez.
это говнокод))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы