Efeitos colaterais
Definição
Um efeito colateral ocorre quando a execução de uma função ou operação modifica algo fora do seu escopo — como alterar uma variável externa, escrever em arquivos, acessar banco de dados ou exibir algo na tela. Isso significa que a função faz algo além de apenas retornar um valor.
Exemplos comuns de efeitos colaterais
- Modificar variáveis globais ou não locais
- Alterar o conteúdo de arquivos, banco de dados ou cache
- Enviar requisições HTTP
- Exibir mensagens no console ou na interface
- Gerar saída em arquivos ou dispositivos
Mesmo uma requisição que apenas lê dados (como um GET
) é
considerada um efeito colateral, pois envolve comunicação externa e pode
gerar resultados diferentes a cada execução.
Por que é importante controlar
Efeitos colaterais tornam o código menos previsível e mais difícil de testar. Quando uma função depende de ou modifica algo externo, seu comportamento pode variar conforme o contexto — o que dificulta o rastreamento de bugs e a reutilização do código.
Como reduzir ou isolar efeitos colaterais
- Separar funções puras (sem efeitos) das que interagem com o mundo externo
- Evitar o uso de variáveis globais
- Utilizar imutabilidade e programação funcional quando possível
- Concentrar os efeitos em pontos controlados da aplicação (como adaptadores ou controladores)
Exemplo em código (Python)
# Efeito colateral: alteração de variável global
contador = 0
def incrementar():
global contador
contador += 1
incrementar()
print(contador) # 1
A função incrementar
modifica uma variável global fora do seu
escopo local, o que caracteriza um efeito colateral. Funções puras, por
outro lado, não alteram nenhum estado externo.