kamyshev.code
2.15K subscribers
40 photos
565 links
Архитектура, код, софт-скиллы и всё остальное. Вопросы, пожелания, комментарии — @igorkamyshev

https://kamyshev.me
Download Telegram
​​Проектирование

В функциональной парадигме есть крутой концепт — паттерн матчинг (не смог перевести на русский, потому что сопоставление с образцом звучит как-то глупо).

Суть в простом выборе пути выполнения кода по форме входящего объекта.

Проще всего понять посмотрев на пример.


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#), но сами подходы ценны в любой экосистеме.

#фп #архитектура
Из доклада Зачем OCaml на фронтенде я не понял, зачем нужен OCaml на фронтенде 🤷‍♂️ но доклад очень интересный.

Мне кажется, это отдельная ветка развития инженера — расширение технического кругозора. Например, фронтендерам стоит почитать/послушать про rescript просто для общего развития, вдруг что.

#языки #фронтенд #фп