Pseudo-type

Définition, exemples et bonnes pratiques

À retenir

  • Sert à simplifier la description des données dans le code.
  • Regroupe souvent plusieurs types réels sous un seul nom.
  • Indique principalement ce qu'une fonction reçoit ou produit.
  • N'est pas un type de donnée stocké physiquement en mémoire.

Un pseudo-type est une étiquette utilisée en programmation pour désigner un groupe de plusieurs types de données possibles, plutôt qu'un seul type précis (comme un nombre ou du texte). C'est une sorte de catégorie de commodité qui aide à décrire ce qu'une fonction accepte ou renvoie, un peu comme le mot « liquide » peut désigner de l'eau, du lait ou du jus de fruit sans les nommer individuellement.

Étymologie

Composé du préfixe grec pseudo (faux, simulé) et du mot type (catégorie de donnée). Il est qualifié de « faux » car, contrairement aux types classiques (entier, chaîne de caractères), il n'existe pas en tant qu'unité de stockage réelle en mémoire ; c'est un concept logique pour le développeur.

Exemples d'usage

  • mixed : indique qu'une variable peut contenir n'importe quel type de donnée (nombre, texte, tableau, etc.).
  • void : précise qu'une fonction s'exécute mais ne renvoie aucun résultat à l'utilisateur.
  • callable : désigne n'importe quel élément de code qui peut être appelé comme une fonction.
  • number : dans certains langages, regroupe à la fois les nombres entiers et les nombres à virgule.

Cas d'usage

On les retrouve essentiellement dans la documentation technique et la signature des fonctions (le mode d'emploi d'une fonction). Ils permettent de rendre le code plus flexible en autorisant une fonction à traiter des données de natures différentes sans avoir à écrire plusieurs versions de la même fonction.

Bonnes pratiques

Utilisez les pseudo-types avec parcimonie. S'ils offrent une grande souplesse, ils rendent aussi le code plus difficile à vérifier automatiquement par l'ordinateur. Préférez toujours un type précis (ex: int) à un pseudo-type vague (ex: mixed) si vous savez exactement quelle donnée sera manipulée.

Synonymes

type virtuel type de documentation type composé

Antonymes

type primitif type concret type strict

Conseil

Si vous lisez une documentation technique et que vous tombez sur un terme inconnu comme iterable ou any, considérez-le comme une règle de flexibilité : le programmeur a simplement voulu dire « ici, j'accepte plusieurs formats de données tant qu'ils se comportent de la même manière ».

Questions fréquentes

Pourquoi utiliser un pseudo-type plutôt qu'un type réel ?

Pour gagner en flexibilité, par exemple quand une fonction doit pouvoir transformer aussi bien une liste de mots qu'un seul mot.

Est-ce que tous les langages de programmation en ont ?

Non. Ils sont très courants dans les langages dits 'dynamiques' comme PHP ou TypeScript, mais beaucoup plus rares dans les langages très rigides comme le C ou le Rust.

Est-ce la même chose qu'un alias de type ?

Pas tout à fait. Un alias est un nouveau nom pour un type existant, alors qu'un pseudo-type représente souvent une abstraction ou un ensemble de types différents.