mardi 22 mai 2018

ParcourSup

J'ai regardé le code informatique de ParcourSup (publié en Open Source par le Ministère de l'Education).

C'est mal écrit, et très difficilement maintenable.

Il n'y a d'abord pas de commentaires autres que formels (Le titre de la procédure en haut), qui indiquent la finalité de la procédure en question.
On sait depuis longtemps maintenant qu'il faut documenter le "quoi ?" : "On fait quoi dans cette procédure ?".
Sachant qu'il est inutile de documenter le "Comment on le fait", même si ce minimum là n'est pas fait ici.


Ensuite, ParcourSup utilise le langage SQL, autrement dit un langage syntaxique qui permet d'écrire des "phrases" de code en pseudo-langage clair, et donc auto-descriptif :
"In Table Propositions, Select all Type_Formation where Date_Soumission <= Date_Exigée"

Pourquoi alors avoir recours à des variables non explicites comme "gti_cod" qui ré-obscurent (intentionnellement ?) le discours : 



Exemple de procedure SQL
tirée du code ParcourSup


C'est quoi a.gti_cod par rapport à a.gta_cod ?
On appelle ca un "degré d'obfuscation gratuit" : Il faut connaître la Table d'Equivalence des noms de variables pour comprendre leur utilisation. 

N'aurait-il pas été préférable de nommer :
- la table "a" plutôt "Propositions"

- les variables "gti_cod" et "gta_cod" plutôt "Type_Formation" et "Type_Parcours" (ou quel que soit leur sens réel).

En plus, noter le snobisme du "cod", habitude américaine, plutôt que "code", qui sonne trop français.












Aucun commentaire:

Enregistrer un commentaire