- O que é FP em linguagens como JS?: HOF, mantenabilidade, exemplos realworld
- Lambda Calculus(Opcional): história, definição, aplicação de função, redução beta, linguagens fps são baseadas nesse conceito matemático, anonymous functions
- Currying: Aridade, aplicação parcial, ramda curry, exemplos
- Imutabilidade: usar apenas constantes, copiar objetos ao invés mutar, não usar
.push
ou.splice
. Object.freeze. destructuring. - Declaratividade: Nomear variaveis e funções de forma declarativa, evitar imperatividade no código(switch code, too much ifs).
- Operações de função: Map Filter Reduce ao invés de for ou foreach etc
- Recursao: como funciona, resolvendo problemas com recursão, continuations, TCO, trampolines, memoization
- Funções e Efeitos colaterais: Idepotencia, Entender conceito, retornar funções de forma consistente, isolamento de funcionalidade para cada função, modularidade, use parametros para dados substituiveis ao invés de hardcoding. Vantagens sobre Testing. Abordar concorrencia?.
- Composição de função: Compor problemas complexos em funções simples, funcionamento de composição de pipe, Ramda.(aplicação parcial)
- Modulos e considerações: Organizar modulos exportanto funções. Promises ou futures ao invés de callbacks. Predicados.
- Fugindo de classes: Utilizando objetos literais e funcoes, lens, closure.
- Contratos e Error handling: Contratos de funções(matematica). Utilizar promises ou monads ao invés de try catchs. Maybe monad para lidar com nulls e undefineds.
- Tacit programming: Omitir os argumentos durante a composicao.
- Combinators: church enconding, SKI combinators, Y combinator
- Teoria das categorias: functors, monads
- Linguagens FP que compilam JS: ELM, Reason, ClojureScript, Purescript etc
Last active
November 8, 2018 18:20
-
-
Save anabastos/2520c1b32d0cd8b0370282f6c72645f1 to your computer and use it in GitHub Desktop.
Mentoria
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment