Couplage temporel

le couplage temporel est un comportement contextuel d’une méthode qui n’est pas pertinent dans tous les cas d’utilisation.

class Authenticate {

    public static function login(int $id): User
    {
        $user = Auth::login($id);

        self::refreshRigths($user);

        return $user;
    }
}

L'appel de cette méthode refreshRights n'est pas problématique en soi, il faut cependant déterminer si sa présence au sein de notre méthode login n'est pas contraignante fonctionnellement.

Voulons-nous vraiment associer une authentification à un rafraîchissement des droits ? Ce comportement doit-il être tacite ?

Si ce n'est pas le cas, alors cet appel à refreshRights peut s'avérer problématique et restreindre notre utilisation de la méthode login.

Actuellement, il n'est pas possible de se connecter sans refresh le droits

Un couplage temporel dégrade la testabilité et la souplesse d'une méthode la rendant étroitement liée à un contexte d'utilisation spécifique

Par ailleurs, si ce comportement est également inattendu, nous sommes alors confrontés à une problématique de distance sémantique.