Simplification du code : l'abstraction procédurale
Durée estimée: 45 minutes
Ce que l’on va faire :
- voir la notion de procédure (ou d'abstraction procédurale), son rôle dans les architectures et la simplification du code qu'elle permet,
- analyser le code et le décomposer en sous ensembles fonctionnels,
- simplifier le code en remplaçant chaque sous ensembles par une procédure,
- examiner le gain obtenu par cette opération d'"abstraction",
- apprendre à documenter le code
Notions abordées :
- la décomposition fonctionnelle,
- les procédures et l'abstraction procédurale,
- les architectures logicielles en couches (abstraction layers),
- la modularité,
- la documentation.
Procédures et abstraction procédurale
Les notions de procédure ou d'abstraction procédurale sont FONDAMENTALES en programmation. Elles permettent d'organiser le logiciel par couches, depuis le bas niveau proche de l'ordinateur (code binaire exécutable par la machine) jusqu'aux langages de haut niveau, proches du langage naturel.
Réalisation
Vous allez reprendre le code de la version précédente et séparer les 3 fonctions principales :
- orienter et faire avancer la voiture,
- redémarrer en cas de sortie de route,
- et tester si la voiture a atteint l'arrivée.
Ressources de départ : vous pouvez partir du résultat de la leçon précédente, ou du projet à cette adresse.
Restructuration et simplification du code avec les procédures
Déroulement
Le script qui gère la voiture avec la boucle infinie est devenu trop compliqué pour être facile à lire. Il comprend en fait trois parties ou trois fonctions différentes : faire avancer la voiture,gérer les sorties de route et gérer l'arrivée.
Pour chacun des blocs correspondants on définit une procédure qui intègre ces blocs. Un appel à cette procédure vient ensuite remplacer les blocs déplacés dans la procédure. L'application fonctionne exactement de la même manière, mais le code est beaucoup plus claiir et simple à lire.