Open yrachid opened 7 years ago
Também vale salientar que aplicando os conceitos de programação funcional você terá um código mais limpo, mais fácil de ler, mais fácil de manter e o melhor: muito mais fácil de testar.
Muito obrigado por ambos comentários!. Andei pesquisando sobre tal e achei um repo bastante interessante do Pagar-meLambda.
Mas tenho bastante dificuldade em implementar as pure functions, não entendo bem o momento em que devo usá-las. Poderiam dar uma dica?
Quais as dificuldades que você encontra ao tentar implementá-las?
Seriam bem básicas, quando e onde devo implementá-las... Pois acabou me confundindo por muitas das vezes
Funções puras são bastante simples, recebem inputs e seu output é baseado exclusivamente nos inputs.
// errado
let num1 = 5;
let finalSum = 0;
function sum(num) { return num + num1; }
// correto function sum(num1, numb2) { return num1 + num2; }
const finalSum = sum(5, 3);
- Crie funções responsáveis por fazer uma única coisa (torna-se mais fácil de testar, ler e compor com outras funções);
Isso é o básico, não sei explicar muito bem :laughing:, comece aos poucos refatorando uma função ou outra e assim você vai evoluindo. Uma boa forma de aprender programação funcional é programar em uma linguagem puramente funcional, se quiser seguir esse caminho, eu sugiro que você dê uma olhada na linguagem Elm, é uma linguagem de programação puramente funcional, baseada no haskell e compila pra Javascript e ela é bastante utilizada como uma porta de entrada para o universo da programação funcional :laughing: por ser bastante simples e ter uma curva de aprendizagem curta.
Um artigo sobre Elm que escrevi: https://medium.com/@fidelisclayton/uma-vis%C3%A3o-geral-sobre-o-elm-b8c65e1aa074
Tese sobre programação funcional no frontend e Elm: https://drive.google.com/file/d/0BzfJvCA4sXjQNjJwd2twQUFOU0k/view (no começo o autor explica de uma forma bem concisa os principais conceitos da programação funcional, acho que vale a pena dar uma olhada nesta parte)
Olá, vi que você comentou no grupo do Facebook Node.js Brasil pedindo por sugestões de temas para estudar. Achei que seria interessante abrir uma issue aqui com uma sugestão.
Acho que seria interessante colocar
Programação funcional
na lista porque é um tema que está crescendo bastante em popularidade ultimamente e vai ser algo que você vai aproveitar para usar em várias linguagens, não somenteJavaScript
(apesar de conseguir se beneficiar bastante do funcional usandojs
). Acho que o paradigma funcional apresenta conceitos que te fazem pensar de uma maneira diferente e também ajuda a programar melhor em algumas situações.