À retenir
- C'est un nom de remplissage sans aucune signification fonctionnelle.
- Il sert à illustrer des concepts de programmation de manière abstraite.
- Il est souvent suivi de son compère « bar » (foo, bar, baz...).
Le terme « foo » est un nom générique utilisé par les programmeurs pour désigner quelque chose (une variable, une fonction ou un fichier) dont le nom réel n'a aucune importance. C'est l'équivalent informatique de « machin », « truc » ou « Jean Dupont », permettant d'illustrer un exemple de code sans se soucier du contexte métier.
Étymologie
D'origine américaine, ce terme est une « variable métasyntaxique ». Son origine précise est débattue, mais elle est souvent associée à l'acronyme militaire FUBAR (Fouled Up Beyond All Recognition). Il a été adopté et popularisé par la culture hacker du MIT dans les années 1960 pour nommer des éléments temporaires ou de démonstration.
Exemples d'usage
let foo = "Bonjour";: création d'une variable de test simple.function foo() { return true; }: définition d'une fonction bidon pour montrer une syntaxe.
Cas d'usage
On utilise « foo » principalement dans la documentation technique, les tutoriels d'apprentissage, les exemples sur les forums d'entraide (comme Stack Overflow) ou lors de tests rapides pour vérifier qu'un script s'exécute correctement.
Bonnes pratiques
N'utilisez jamais « foo » dans un projet professionnel ou un code destiné à être partagé en production. Un bon code doit être explicite ; préférez toujours des noms qui décrivent le contenu ou le rôle de la variable (par exemple userAge au lieu de foo).
Synonymes
Antonymes
Conseil
Quand vous lisez un tutoriel et que vous voyez « foo », remplacez-le mentalement par « n'importe quoi » pour mieux comprendre que l'important n'est pas le nom, mais la structure du code présentée.
Questions fréquentes
D'où vient la suite foo, bar, baz ?
C'est une convention historique en informatique. Si un exemple nécessite plusieurs noms, on utilise traditionnellement foo, puis bar, puis baz, et enfin qux.
Est-ce que le mot 'foo' est réservé par les langages ?
Non, c'est un mot comme un autre. Pour l'ordinateur, 'foo' n'a pas plus de valeur que 'variable1' ou 'X'.