Я новичок -к JavaScript. Я понимаю многие концепции языка, я читал о модели наследования прототипов, и я обостряю свой свист все более и более интерактивными начальными -вещами. Это интересный язык, но меня всегда немного отталкивают спагетти обратного вызова, которые типичны для многих -нетривиальных моделей взаимодействия.
Что-то, что всегда казалось мне странным, заключается в том, что, несмотря на кошмар читабельности, который представляет собой гнездо вложенных обратных вызовов JavaScript, есть одна вещь, которую я очень редко вижу во многих примерах и руководствах, — это использование предопределенных именованных функций в качестве обратных вызовов. аргументы. Я программист Java днем,и отказ от стереотипных колкостей по поводу Enterprise -y названий единиц кода одна из вещей, которые мне понравились в работе на языке с большим выбором многофункциональных IDE, заключается в том, что использование осмысленного, если Длинные имена могут сделать назначение и значение кода более ясным, не усложняя его фактическую продуктивность. Так почему бы не использовать тот же подход при написании кода JavaScript?
Поразмыслив над этим, я могу привести аргументы как за, так и против этой идеи, но моя наивность и новизна языка мешают мне делать какие-либо выводы относительно того, почему это было бы хорошо на техническом уровне.
С таким количеством современных браузеров, которые демонстрируют способность выполнять код JavaScript намного быстрее, чем раньше, я не вижу, как какой-либо тривиальный вид повышения производительности можно было бы выйти, используя анонимные обратные вызовы, было бы необходимостью. Кажется, что,если вы находитесь в ситуации, когда использование именованной функции осуществимо (предсказуемое поведение и путь выполнения ), тогда не будет причин не делать этого.
Итак, есть ли какие-то технические причины или ошибки, о которых я не знаю, которые делают эту практику настолько распространенной по какой-то причине?