В чем преимущество глобальных функций при написании функционального кода
Я разработчик Swift и пытаюсь принять функциональный / реактивный стиль в моем коде. Я использую ReactiveCocoa
во всех моих проектах, и я начал давать RAC 3.0
попытка Одна вещь, которую я видел, состоит в том, что в проекте интенсивно используются функции карри, которые имеют глобальную область видимости (то есть не привязаны к экземпляру).
Я хочу понять, почему глобальные функции - это хорошая идея?
Является ли это чем-то уникальным для функций карри или это общий атрибут функционального программирования?
1 ответ
Для моего опыта работы с haskell (у которого нет изменяемых переменных), я обычно пишу все функции (и вспомогательные) глобально, что удобно для тестирования. После отладки я обычно перехожу затем с глобального уровня на локальный, но для разработки библиотеки мы можем просто не открывать вспомогательные функции для внешнего использования.
Определение глобальной функции просто означает, что вы можете получить к нему доступ в любом месте (не строго) в этом модуле / файле или экспортировать его.