Если вы слышали «модные слова» Функциональное программирование (FP), сочинение , точка бесплатно и т. Д., И вы были полностью потеряны … вы не одиноки. Вот проникновенный пик того, что вы можете сделать, если вы сочиняете вещи и следуете функциональному и некачественному стилю программирования.
const _ = require('lodash/fp') const lines = [ { name: "We're the eggmen", order: 2, }, { name: "I'm the eggman", order: 1 }, { name: "I'm the walrus", order: 3 } ] function main(lines) { // generateSelectObject :: Object -> Object const generateSelectObject = ({ name, order }) => ({ value: `${name}_${order}, label: name, }) const sortAndMapLines = _.compose( _.map(generateSelectObject), _.sortBy(['order']) ) const orderedLines = sortAndMapLines(lines) orderedLines.unshift({ label: 'All lines', value: 'All lines' }) return orderedLines } const res = main(lines) console.log(res)
Я утверждаю, что самая интересная часть этого скучного кода – это:
const sortAndMapLines = _.compose( _.map(generateSelectObject), _.sortBy(['order']) )
Это то, что Fp Это все о том, вы определяете необходимые шаги для достижения чего -либо, в данном случае отсортированные, а затем отображенные результаты строки
Анкет Обратите внимание, что мы составляем там две функции, сортировка
и карта
от Лодаш И это точка бесплатно Потому что ни одна из функций явно не объявляет, с какими данными они будут работать.
Надеемся, что этот бродяга полезен, и это вызовет ваш аппетит к поиску лучших способов выполнения вашей работы и улучшения общего качества нашего кода. Очень хорошее место для начала – это профессор Фрисби В основном адекватное руководство по функциональному программированию Что я очень рекомендую.
Оригинал: “https://dev.to/sigfriedcub1990/a-very-simple-introduction-to-functional-programming-1fp4”