Le refactoring expliqué à ma fille
05 juin 2013 Olivier Azeau En français 0
Convaincu que la capacité à coder n'est pas moins intéressante que celle de lire, écrire ou compter, je ne manque jamais une opportunité de montrer à mes filles ce qui peut se cacher derrière un logiciel. Et, quand l'occasion se présente, je leur propose de regarder ce que l'on peut faire avec Scratch.
Jusqu'ici, l'intérêt a été assez limité et puis ces derniers temps l'une d'entre elles (Sibylle, 9 ans) a commencé à faire quelques trucs par elle même sans rien me demander. Au bout de quelques heures, il en est sorti un jeu nommé "Chavanturier" :
La plus grande partie du code réside dans la gestion des mouvements du chat :
Je lui ai dit que l'on pouvait peut être arranger ces scripts pour s'y retrouver plus facilement. Je lui ai proposé les modifications suivantes[1] :
- la disposition des blocs d'événements de manière "naturelle" par rapport à l'action représentée (le déplacement vers le haut positionné en haut, le déplacement vers la gauche positionné vers la gauche, etc.)
- le renommage des "costumes" (les différentes représentations graphiques d'un sprite) en fonction de la direction de déplacement
- la mise en commun de tout ce qui était répété plusieurs fois à l'identique (les vérifications après déplacement)
Et voilà le résultat (qu'elle a effectivement trouvé plus lisible) :
Et voilà comment faire en quelques secondes d'une pierre trois coups, en montrant :
- L'utilité d'un regroupement logique des divers morceaux de code
- Le renommage des variables pour qu'elles reflètent l'intention
- La suppression des duplications par extraction de méthode
Il n'est jamais trop tôt pour apprendre les bons réflexes !
Note
[1] je sais que l'on peut aller plus loin, notamment en rendant lisible le fait de "retourner à la position initiale" mais n'en demandons pas trop à la fois