O documento discute programação funcional, definindo-a como um paradigma de programação baseado em funções matemáticas puras, sem alteração de estados ou dados mutáveis. Explica os principais benefícios, como testabilidade, manutenção facilitada e paralelização, e como aplicar conceitos como funções puras, composição e dados imutáveis. Finaliza fornecendo referências sobre o tema.
3. O QUE É?
Paradigma de programação
Mas afinal o que é um paradigma
computacional?
4. PARADIGMA DE
PROGRAMAÇÃO
Modelo, padrão, que pode
conter regras e princípios
POO - Programação
Orientada a Objetos
Programação
orientada a eventos
Programação
Funcional ...
5. O QUE É?
Baseia-se em funções
Evitando alteração de estados e dados que
sejam mutáveis
9. * 1º) Funções Puras:
Dada a mesma entrada a saída sempre será a mesma
f(x) = x * x
10. * 2º) Funções independentes de estados da aplicação:
Única dependência são os argumentos
Funções de primeira
classe
11. 3º) Funções com efeitos colaterais controlados:
*
Alterações ou mutações são cuidadosamente controladas
12. 3º) Funções com efeitos colaterais controlados:
*
Alterações ou mutações são cuidadosamente controladas
13. * 4º) Estruturas e Dados Imutáveis
Não alterar os estados e variáveis
Dê preferência a constantes
14. * 4º) Estruturas e Dados Imutáveis
Não alterar os estados e variáveis
Evitar manipulações de objetos
map
filter
reduce
Funções de ordem
superior
15. * 4º) Estruturas e Dados Imutáveis
Clonar Objetos
Objetos são referências
Não alterar os estados e variáveis
spread operator ...
Object.assign
cloneDeep (lodash)
16. * 5º) Composição de Funções :
Combinando duas ou mais funções
f(x) = x * x g(x) = 3 * x f(g(x))
18. * Benefícios
Técnica de otimização que armazena o
resultado de funções de alto custo, retornando
quando ocorrer a mesma entrada.
Fáceis de serem testadas
Possuem o mínimo de impactos e efeitos colaterais
Fácil manutenção
Paralelizável
Memoization
19. REFERÊNCIAS
Algumas dicas de como
mudar a mentalidade
FreeCodeCamp
What is functional
Programming?
Introdução a
Programação Funcional