Проектирование
В функциональной парадигме есть крутой концепт — паттерн матчинг (не смог перевести на русский, потому что сопоставление с образцом звучит как-то глупо).
Суть в простом выборе пути выполнения кода по форме входящего объекта.
Проще всего понять посмотрев на пример.
Результатом будет надпись
Почему не набор if-ов? Просто так короче и красивее.
И в догонку хорошая библиотека для JS — z.
#фп
В функциональной парадигме есть крутой концепт — паттерн матчинг (не смог перевести на русский, потому что сопоставление с образцом звучит как-то глупо).
Суть в простом выборе пути выполнения кода по форме входящего объекта.
Проще всего понять посмотрев на пример.
const result = matches(1)(
(x = 2) => 'number 2 is the best!!!',
(x = Number) => 'other number is not that good',
(x = Date) => 'blaa.. dates are awful!' )
Результатом будет надпись
other number is not that good
.Почему не набор if-ов? Просто так короче и красивее.
И в догонку хорошая библиотека для JS — z.
#фп
Мудрость из книги
Программы формулируются на основе трех парадигм.
В моду вошло ФП.
Главный принцип функционального программирования — иммутабельность данных. То есть запрет за изменение значений.
Это даёт кучу бенефитов. Например, программы можно безболезненно выполнять на разных компьютерах, а потом результаты соединять в один. Легче держать в голове программу, когда в ней ничего никогда не изменяется
Короче, функциональное программирование накладывает ограничение на присваивание.
Конспект книги Роберта Мартина "Чистая архитектура".
#чистая_архитектура #проектирование #фп
Программы формулируются на основе трех парадигм.
В моду вошло ФП.
Главный принцип функционального программирования — иммутабельность данных. То есть запрет за изменение значений.
Это даёт кучу бенефитов. Например, программы можно безболезненно выполнять на разных компьютерах, а потом результаты соединять в один. Легче держать в голове программу, когда в ней ничего никогда не изменяется
Короче, функциональное программирование накладывает ограничение на присваивание.
Конспект книги Роберта Мартина "Чистая архитектура".
#чистая_архитектура #проектирование #фп
Сегодня утром посмотрел кайфовый доклад Почему ваша архитектура функциональная и как с этим жить. В нем рассматриваются принципы функционального программирования, которые можно приложить к любой системе. С ними система становится надежнее и проще, а никакой лишней ментальной нагрузки они не несут.
Доклад в основном про C# (и немного F#), но сами подходы ценны в любой экосистеме.
#фп #архитектура
Доклад в основном про C# (и немного F#), но сами подходы ценны в любой экосистеме.
#фп #архитектура
YouTube
Роман Неволин — Почему ваша архитектура функциональная и как с этим жить
Ближайшая конференция — DotNext 2024, 10 — 11 сентября, Москва + online
Подробности и билеты: https://jrg.su/x2GKnA
— —
Задумывались ли вы, как часто пишете в функциональном стиле? Возможно, это происходит чаще, чем кажется...
Если ваш проект — не дремучее…
Подробности и билеты: https://jrg.su/x2GKnA
— —
Задумывались ли вы, как часто пишете в функциональном стиле? Возможно, это происходит чаще, чем кажется...
Если ваш проект — не дремучее…
Из доклада Зачем OCaml на фронтенде я не понял, зачем нужен OCaml на фронтенде 🤷♂️ но доклад очень интересный.
Мне кажется, это отдельная ветка развития инженера — расширение технического кругозора. Например, фронтендерам стоит почитать/послушать про
#языки #фронтенд #фп
Мне кажется, это отдельная ветка развития инженера — расширение технического кругозора. Например, фронтендерам стоит почитать/послушать про
rescript
просто для общего развития, вдруг что.#языки #фронтенд #фп
YouTube
Дмитрий Коваленко — Зачем OCaml на фронтенде
Ближайшая конференция: HolyJS 2023 Autumn, 2–3 ноября (online), 11–12 ноября (offline, Санкт-Петербург)
Подробности и билеты: https://cutt.ly/Fwtp1eqJ
— —
Возможно, вы слышали о таких технологиях, как ReasonML/Resсript и bucklescript. Всё это OCaml на фронтенде.…
Подробности и билеты: https://cutt.ly/Fwtp1eqJ
— —
Возможно, вы слышали о таких технологиях, как ReasonML/Resсript и bucklescript. Всё это OCaml на фронтенде.…