À retenir
- C'est la solution "standard" et optimisée pour un problème simple.
- Il est propre à chaque langage de programmation.
- Il rend le code plus lisible et plus professionnel aux yeux de la communauté.
Un idiotisme est la manière la plus élégante et la plus "naturelle" d'écrire un morceau de code dans un langage de programmation spécifique. C'est une habitude de rédaction partagée par la communauté pour résoudre un problème courant de façon concise, un peu comme une expression imagée qu'un étranger doit apprendre pour parler sans accent.
Étymologie
Dérivé du grec idios (propre à soi-même), le terme est un calque de l'anglais idiom. En informatique, il ne désigne pas une anomalie de langage mais plutôt une structure de code conventionnelle qui exploite au mieux les fonctionnalités spécifiques d'un langage donné.
Exemples d'usage
- En Python, on utilise souvent les "compréhensions de liste" pour transformer des données en une ligne plutôt que d'écrire une boucle classique.
- En C, la syntaxe
while (*p++)est un idiotisme classique pour parcourir une chaîne de caractères jusqu'à sa fin. - En JavaScript, utiliser l'opérateur de court-circuit
||pour définir une valeur par défaut.
Cas d'usage
Ce concept intervient dans le développement logiciel au quotidien. Respecter les idiotismes permet de produire un code "propre" (clean code), facilement compréhensible par d'autres développeurs habitués au même langage.
Bonnes pratiques
Apprenez les idiotismes dès que vous abordez un nouveau langage pour éviter de copier les habitudes de votre ancien langage. Par exemple, éviter d'écrire du code qui ressemble à du C quand vous faites du Python (on parle alors de code non-idiomatique ou "non-pythonique").
Synonymes
Antonymes
Conseil
Pour maîtriser les idiotismes, ne vous contentez pas de lire la documentation officielle : parcourez le code source de projets populaires sur GitHub. C'est en observant comment les experts assemblent leurs instructions que vous acquerrez le bon "accent" informatique.
Questions fréquentes
Un idiotisme est-il un patron de conception (design pattern) ?
Pas tout à fait. Un idiotisme est une petite astuce de syntaxe propre à un langage, alors qu'un patron de conception est une structure de solution plus large et universelle.
Pourquoi utiliser des idiotismes ?
Pour que votre code soit plus facile à maintenir et pour mieux communiquer avec les autres développeurs qui attendent de voir des structures familières.