Définition : le Sucre Syntaxique
Le sucre syntaxique est un procédé visant à simplifier l'écriture de code en offrant aux développeurs une syntaxe alternative plus légère.
Qu’est-ce que le sucre syntaxique ?
En programmation, le sucre syntaxique (ou « syntactic sugar » en anglais) est caractérisé par une écriture alternative, plus concise et/ou plus facile à lire, pour une fonctionnalité spécifique.
Le sucre syntaxique n’ajoute pas de nouvelles fonctionnalités ou de nouveaux concepts à un langage de programmation, il y intègre seulement une syntaxe alternative plus « Developer Friendly » (DX).
En simplifiant l’écriture et la lisibilité du code, le sucre syntaxique contribue à faciliter la maintenance et améliorer la productivité des développeurs.
Démonstration
Déclaration d’un objet en JS
Par exemple, en JavaScript, la déclaration d’un objet se fait avec la syntaxe new Object()
.
// Syntaxe originelle
let user = new Object();
user.firstname = 'John';
user.lastname = 'Doe';
Et pourtant, même si vous vous êtes formé au langage JavaScript, je suis sûr que cette syntaxe ne vous est pas familière…
Mais pourquoi cela ? 🤔
Car la syntaxe d’objet littéral permet de créer un objet de manière plus concise et plus lisible en faisant usage des caractères { ... }
. On parle alors de sucre syntaxique. Voici un extrait de code équivalent :
// Sucre syntaxique
let user = { firstname: 'John', lastname: 'Doe' };
D’autres exemples
Le sucre syntaxique peut également être utilisé pour simplifier d’autres constructions de langage, telles que :
- Les conditions (via les opérateurs ternaires)
- Les boucles
- Les fonctions fléchées
- Les templates de chaînes de caractères pour simplifier la concaténation
- Les objets et classes
- Etc.
Avantages du sucre syntaxique
Le sucre syntaxique est apprécié des développeurs pour plusieurs raisons, en voici les principales :
- Saisie plus rapide
- Lisibilité accrue
- Simplification des opérations courantes/redondantes
- Facilité de maintenance
- Productivité accrue
- Réduction du code « boilerplate » (code verbeux et répétitif souvent inévitable)