Sobes.tech
Junior — Middle

Van tapasztalata a dekorátorok használatában a projektjeiben?

sobes.tech MI

Válasz az MI-től

Igen, projektjeimben dekorátorokat használtam a funkciók és metódusok funkcionalitásának bővítésére anélkül, hogy módosítanám a forráskódjukat. Például a függvényhívások naplózására, a végrehajtási idő mérésére vagy a hozzáférési jogok ellenőrzésére.

Egyszerű naplózó dekorátor példája:

def log_calls(func):
    def wrapper(*args, **kwargs):
        print(f"Függvényhívás: {func.__name__} args: {args} kwargs: {kwargs}")
        result = func(*args, **kwargs)
        print(f"A függvény {func.__name__} eredménye: {result}")
        return result
    return wrapper

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

add(2, 3)

A dekorátorok segítenek tisztább és könnyebben karbantartható kód írásában, különösen tesztautomatizálásban, ahol gyakran szükséges ismétlődő műveleteket hozzáadni a tesztfüggvények köré.