Organiser le code et mettre au point (degug)

Durée estimée: 45 minutes

Présentation

Lorsqu'un projet commence à devenir compliqué, il devient

  • facile de se perdre dans le code : on ne sait plus qui fait quoi et où se trouve les blocs, les évènements ou les procédures qui effectuent la tache que l'on cherche,
  • difficile de mettre au point et de trouver les erreurs.

Analyser le projet et organiser le code

La première réponse à cette difficulté, c'est le travail d'analyse initial qui permet de décomposer les problèmes avec un diagramme de flux (ou logigramme) et/ou un pseudo code. Vous devez avoir - sur un papier - une description et une vue générale de votre application. Un peu comme une carte routière sur laquelle on peut réfléchor aux itinéraires entre deux points. Il n'est jamais trop tard pour réaliser ce diagramme ou cette carte. en fait il vaut mieux la faire ave cun crayon et une gomme, car on la modifie en permanence.

Une fois que vous avez les idées claires sur ce que fait votre application et la manière dont elle est décomposée : Vous pouvez appliquer des principes généraux pour organiser votre programme.

Nous verrons - pour les projets complexes - la possiblité d'utiliser plusieurs écrans qui correspondent en fait à plusieurs parties de l'application qui sont pratiquement indépendantes. Par exemple dans une application commerciale, vous pourrez séparer la gestion des furnisseurs et des clients et aprtager une abse de données des produits.

Mais nous n'en sommes pas là ... Nous allons voir d'abord quels principes vous pouvez utiliser pour organiser les blocs de votre code. La vidéo suivante vous propose quelques principes :

  • Organiser les fonctions de gauche à droite, en commençant par les fonctions qui font le pilotage ou la gestion d'ensemble,
  • organiser les blocs de haut en bas, du plus général au plus détaillé en commençat plutôt par les évènements et en plaçant les procédures en dessous des blocs qui y font appel,
  • Placer en haut les variables qui décrievent l'état de votre application, de préférence au-dessus des princpales fonctions qui y font appel.
  • Dans les procédures asynchrones, placer l'évènement et le script de la réponse immdaitement en dessous de la procédure à laquelle cet évènement réppond.
  • ...
Les plus important est d'avoir une vision d'ensemble (avec un diagramme de flux) et des principes dont vous vous rappelez.

Techniques de mise au point, enregistrement des versions intermédiaires

App inventor ne dispose pas d'un environement de développement équivalent à ceux que l'on trouve avec des langages comme java ou javascript, mais il signale les alertes et les erreurs (en bas à gauche de la fenêtre) et permet de les localiser dans le code. Ensuite c'est à vous de mettre en place les blocs pour la mise au point et l'analyse des écarts entre ce que fait le programme et ce cque vous vouliez qu'il fasse. Pour ça vous pouvez utiliser des notifications, des journaux, activer ou désactiver des composants ou cliquer sur des blocs pour les exécuter en direct.
Dans cette pahse de mise au point il est préférable de travailler en mode "connecte" plutôt que "construire" car il permet des tests interactifs.

  • enregistrer régulièrement : points de controle et versions successives
  • vérifier les alertes et les erreurs
  • notifier les évènements, afficher les valeurs intermédiaires
  • activer/désactiver des blocs réservés à la mise au point
  • journaliser pour permettre l'analyse a posteriori

La vidéo suivante illustre une partie de ces principes