La programmation est une pratique encore bien jeune. Comme toute chose en quête de maturité, il est normal de remettre en question l’ordre établi.
Un débat a fait rage dans la communauté Javascript vis-à-vis l’utilisation du point virgule dans son code.
L’argument de base de la part du développeur de la librairie Bootstrap est qu’il est possible d’écrire du code avec la plus petite trace possible en tirant profit du Automatic Semicolon Insertion (ASI).
La spécification du langage Javascript mentionne les règles pour qu’un point virgule soit ajouté automatiquement lors de son interprétation.
Par exemple, le code suivant :
return
a + b
Va être interprété de la façon suivante dans la majorité des compilateurs :
return;
a + b;
Or, il s’avère que ce code est incompatible avec la librairie de minification écrite par Douglas Crockford JSMIN. L’idée est que JSMIN ne tenait pas compte du ASI dans la minification du code car il s’agit d’une béquille introduite lors de la conception de JavaScript.
La réponse de Douglas Crockford a été assez brutale
Le point vient du fait qu’il est préférable de séparer les instructions dans le code par des points virgule en dépit de l’espace supplémentaire que cela peut prendre. La même idée est applicable aux expressions telles que les if ou les boucles for, par exemple. Il faut toujours inclure les accolades pour ces derniers.
Cet épisode de l’histoire de Javascript est un exemple qui illustre comment les optimisations prématurées sont à la source de 97% de tous les maux que nous éprouvons en programmation.
Au final, il faut toujours garder en tête que nous écrivons notre code pour des humains qui auront la tâche de lire à leur tour et non pour des compilateurs qui auront comme tâche de l’interpréter bêtement.
Une réflexion sur “L’utilisation du point virgule dans son code”