- меня. что делать?
Заниматься герилья-программирование и присовывать State Monad, Xor, OptionT и прочие полезности
Мое видение про переход на фп такое. Чистое фп - это как производство и употребление кристаллического метамфетамина, кустарно максимум новичок может грязный винт сварить. Я на первом проекте изначально делал dependency injection через reader monad, все джобы на спарке обернул в ReadWriteStateMonad и несистематчино присыпал это scalaz.Task. Это оказалось ужасно в итоге, единственный плюс, что человек после меня не смог это сразу сломать, поэтому пару месяцев после моего ухода это все еще работало. Так что подсаживатсья надо плавно. Сначала трава - это option вместо null. Потом грибы - это чтобы все функции, которые могут фейлиться, возвращали Validation тип (Either[CustomError, _]). Потом комбинировать их через for comrehension. Потом начать комбинировать option c future (трава с табаком). Потом сформулировать бизнес-логику как алгберу - это уже кокаин. Дальше будет сложно находить места, куда можно присунуть Free Monad(будешь как наркоман в поисках неиспользованной вены, все они где-то глубоко под кожей). Ну а дальше я сам не заходил.
Обсуждают сегодня