Sobes.tech
Junior — Middle

Tem experiência na utilização de decoradores nos seus projetos?

sobes.tech IA

Resposta da IA

Sim, nos projetos utilizei decoradores para ampliar a funcionalidade de funções e métodos sem alterar o seu código fonte. Por exemplo, para registar chamadas de funções, medir o tempo de execução ou verificar permissões de acesso.

Exemplo de um decorador simples para registo:

def log_calls(func):
    def wrapper(*args, **kwargs):
        print(f"Chamada da função {func.__name__} com argumentos {args} {kwargs}")
        result = func(*args, **kwargs)
        print(f"A função {func.__name__} retornou {result}")
        return result
    return wrapper

@log_calls
def add(a, b):
    return a + b

add(2, 3)

Decoradores ajudam a escrever código mais limpo e fácil de manter, especialmente na automação de testes, onde muitas vezes é necessário adicionar ações repetitivas em torno de funções de teste.