Я собираюсь немного пойти против течения и доказать, что анонимные функции действительно плохая практика, хотя они широко используются.
1) Анонимные функции нельзя использовать повторно.
2) Анонимные функции по определению не имеют имени и поэтому не описывают, что они делают.То есть код не самодокументируется.
3) Анонимные функции нельзя тестировать изолированно с модулем модульного тестирования.
4) Лично я считаю, что они затрудняют чтение кодаи отладить.Хотя ваш опыт может быть разным.
Я действительно думаю, что бывают ситуации, когда анонимная функция - лучший выбор, и, как правило, чтобы избежать указанных недостатков, я почти всегда называю свои функции.