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 refreshRigths
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.
Voulons nous vraiment associer une authentification à un rafraichissement des droits, ce comportement doit il être tacite ?
Si ce n’est pas le cas alors cet appel de refreshRigths
peut s’averer problématique et restreindre notre utilisation de la méthode login
.
Et si je veux uniquement effectuer un Authenticate::login sans refresh les droits ?
Un couplage temporel dégrade la testabilité et la souplesse d’une méthode la rendant étroitement liée à un contexte d’utilisation.
Par ailleurs, si ce comportement est également innatendu, nous sommes alors confronté à une problématique de distance sémantique.