Avaliação Preguiçosa (Lazy Evaluation)

Definição

Avaliação preguiçosa é uma estratégia de execução em que expressões não são avaliadas no momento em que são definidas, mas apenas quando (e se) seus valores forem realmente necessários.

Isso permite, por exemplo, trabalhar com listas infinitas ou adiar cálculos que talvez nunca precisem ser feitos.

Por que é importante

A avaliação preguiçosa pode melhorar a performance de um programa, evitando cálculos desnecessários. Também permite construir estruturas de controle mais flexíveis, como condicionais customizadas e fluxos de dados infinitos.

Vantagens e desvantagens

  • Vantagens:
    • Evita cálculos desnecessários
    • Permite trabalhar com coleções infinitas
    • Facilita composição de operações encadeadas
  • Desvantagens:
    • Dificulta o rastreamento de bugs, pois a execução é adiada
    • Consumo de memória pode ser imprevisível
    • Nem todas as linguagens suportam esse comportamento nativamente

Exemplo em código (Python)

def gerar_numeros():
    print("Generator criado")
    for i in range(10):
        print(f"Gerando {i}")
        yield i

numeros = gerar_numeros()  # Nada é executado ainda

print("Antes do loop")

for n in numeros:
    if n > 2:
        break
    print(f"Usando {n}")

Neste exemplo, a função gerar_numeros é um generator. Nada é executado quando ela é criada. Os valores só são produzidos à medida que o loop consome — e o loop é interrompido no break, então os valores de 3 em diante nunca são gerados.

Relacionados

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com