Сложности возникают вот когда: когда структура достаточно сложна, чтобы вот так структурно inline её нельзя было записать, и создание лямбд и замыканий выносят в отдельные циклы и хелперы. Это, казалось бы, не должно принципиально отличаться от обычного разбития кода на функции, но в силу крайней неочевидности интерфейсов (что куда передаётся и зачем), а также гибкости (дефинируй что хочешь где хочешь) реальный код трудночитаем. Отдельные трудности возникают, когда разные коллбеки вживаются в данные, т.е. на каком-то уровне ты работаешь с массивом коллбеков, в которых масса implied assumption, но вся эта информация не прописана. Нужно медленно и внимательно читать весь код, строить в голове весь этот огромный граф и соединять нужные рёбра графа.
Наверное, нужен пример чуть больше, чем тривиальный, чтобы это показать.
no subject
Date: 2015-04-25 11:11 pm (UTC)Сложности возникают вот когда: когда структура достаточно сложна, чтобы вот так структурно inline её нельзя было записать, и создание лямбд и замыканий выносят в отдельные циклы и хелперы. Это, казалось бы, не должно принципиально отличаться от обычного разбития кода на функции, но в силу крайней неочевидности интерфейсов (что куда передаётся и зачем), а также гибкости (дефинируй что хочешь где хочешь) реальный код трудночитаем. Отдельные трудности возникают, когда разные коллбеки вживаются в данные, т.е. на каком-то уровне ты работаешь с массивом коллбеков, в которых масса implied assumption, но вся эта информация не прописана. Нужно медленно и внимательно читать весь код, строить в голове весь этот огромный граф и соединять нужные рёбра графа.
Наверное, нужен пример чуть больше, чем тривиальный, чтобы это показать.