Когда обсуждается функциональное программирование, часто разговор заходит о механизме, а не о базовых принципах. Функциональное программирование, это не про монады или моноиды, это в первую очередь про написание программ с использованием обобщённых функций. Эта статья о применнии функционального мышления в рефакторинге TypeScript кода.
Примечание от переводчика: весь код для удобства я оформил в репозитории.
Для этого мы будем использовать три техники:
- функции вместо примитивов
- трансформация данных через pipeline
- выделение общих (generic) функций
Начнём же!