Cartes procédurales
Lire le code des autres, dans les deux sens
Écrire un générateur est une chose ; comprendre celui d'un autre en est une autre.
01Objectif
À la fin de cette séquence : Analyser un script de génération existant, en extraire l'intention, et comprendre pourquoi une représentation intermédiaire évite de tout réécrire.
02L'essentiel
Lire du code est une compétence distincte de l'écrire
Devant le script d'un autre, on ne cherche pas la syntaxe mais l'intention : quelles couches, dans quel ordre, avec quelles contraintes. Le reste n'est que la manière de l'exprimer.
Le même effet s'écrit de dix façons
Trois passages peuvent être une boucle, ou une liste écrite à la main. Les positions peuvent être des nombres ou des variables calculées. Un lecteur — humain ou programme — doit reconnaître l'intention derrière ces styles.
La représentation intermédiaire, pivot du va-et-vient
Plutôt que de traduire directement d'un langage à l'autre, on passe par une description neutre : « une rivière au milieu, deux ponts ». De là on peut produire du code, un aperçu, une analyse — et l'inverse : partir d'un code pour retrouver la description.
Faire l'aller-retour est le meilleur test
Si l'on écrit un code depuis une description, qu'on le relit, et qu'on retombe sur la même description, la compréhension est prouvée. C'est un contrôle bien plus solide qu'une lecture à l'œil.
03Le schéma
04À retenir
- Chercher l'intention, pas la syntaxe, quand on lit le code d'un autre.
- Un pivot neutre évite de multiplier les traducteurs entre chaque paire de formats.
- L'aller-retour prouve la compréhension : écrire, relire, retomber sur la même description.
05Exercice
Échangez votre description de carte en cinq règles avec quelqu'un. Chacun rédige le déroulé détaillé de la carte de l'autre, étape par étape. Comparez ensuite avec les règles d'origine : qu'avez-vous ajouté ou perdu en route ?
Indice — Ce qui se perd est presque toujours implicite chez l'auteur — l'ordre des couches, ou une contrainte qu'il jugeait évidente. C'est là que les malentendus naissent, en pédagogie comme en informatique.
06Vérification des acquis
Pourquoi passer par une représentation intermédiaire ?
Pour découpler l'entrée de la sortie. Avec un pivot, ajouter un nouveau format de sortie ne demande qu'un traducteur ; sans pivot, il en faut un pour chaque paire de formats existants.
Comment prouver qu'on a bien compris un script ?
Par l'aller-retour : le relire pour en extraire une description, régénérer un script depuis cette description, et vérifier qu'il produit le même résultat.