Anna-Luiza-Gusmao / github-blog

Uma aplicação que utiliza da API do GitHub para buscar issues de um repositório, dados do perfil e exibir elas como um blog.
https://63c92b24931ef7786db4c8f1--meek-parfait-a81d1d.netlify.app/
0 stars 0 forks source link

Programação Funcional #2

Open Anna-Luiza-Gusmao opened 1 year ago

Anna-Luiza-Gusmao commented 1 year ago

Programação funcional é um estilo de programação em que as soluções são funções simples, isoladas e livres de efeitos colaterais fora do escopo da função: INPUT -> PROCESS -> OUTPUT .A programação funcional é uma forma de programação declarativa, logo você diz ao computador o que quer fazer chamando um método ou função.

Quando falamos de programação funcional, pensamos em:

  1. Funções isoladas: nenhuma função depende do estado do programa, incluindo variáveis globais, que podem sofrer mudanças
  2. Funções puras: a mesma entrada sempre devolve a mesma saída
  3. Funções com efeitos colaterais limitados: qualquer alteração ou mutação do estado do programa fora da função é cuidadosamente controlada

Terminologia funcional

Callbacks são funções que são passadas a outras funções, que decidem quando e como são chamados. Você pode ter visto alguns sendo passados a outros métodos. Em filter, por exemplo, a função de callback diz ao JavaScript qual é o critério para filtrar um array.

Funções que podem ser atribuídas a variáveis, passadas a outras funções ou retornadas de outra função como qualquer outro valor são chamadas de funções de primeira classe. Em JavaScript, todas as funções são funções de primeira classe.

As funções que recebem funções como argumentos ou retornam outras funções como valores são chamadas de funções de ordem superior.

Funções podem ser chamadas de lambda quando passadas para outra função ou retornadas a partir dela.


Outro princípio da programação funcional é que sempre devemos declarar nossas dependências explicitamente. Isso significa que, se uma função depende de uma variável ou objeto, então devemos passar esta variável ou objeto diretamente como argumento a ela.

Há muitas boas consequências nesse princípio: a função se torna mais fácil de testar, você sabe exatamente quais são as suas entradas e ela não depende de mais nada no seu programa.

Isso faz com que você tenha mais confiança ao alterar, remover ou adicionar código, pois sabe o que pode ou não pode alterar e identifica armadilhas em potencial com mais facilidade.

Finalmente, a função sempre produzirá a mesma saída para o mesmo conjunto de entradas, não importa de onde no código ela é chamada.

Ericles-Miller commented 1 year ago

nossa que boas práticas de programação. Muito legal Anna luiza(braba!)

Anna-Luiza-Gusmao commented 1 year ago

obrigada!