J'ai modifié mon tuto comme ceci :
Le verbe parcourir
Dans le chapitre précédent, nous avons appris que les variables étaient locales : on ne peut les utiliser que dans la fonction où elles sont déclarées.
Pourtant, il existe une autre façon de réutiliser une variable dans une autre fonction, sans utiliser les variables globales.
En utilisant le verbe Parcourir :
[php]
Exemple1 :
nombre1 est un nombre valant 3
début
Affiche nombre1
nombre1 vaut 6
Parcours Exemple2
Exemple2 :
début
Affiche nombre1
[/php]
Mais... Mais... Ça fonctionne !
Pourtant cette utilisation du verbe Parcourir est à éviter.
Pour en comprendre la raison, complétons notre exemple comme ceci :
[php]
Exemple1 :
nombre1 est un nombre valant 3
début
Affiche nombre1
nombre1 vaut 6
Parcours Exemple2
Exemple2 :
début
Affiche nombre1
nombre1 vaut 5
Va vers Exemple3
Exemple3 :
début
Affiche nombre1
[/php]
Commençons par vérifier les résultats :
3 : valeur initiale de notre variable.
6 : valeur affectée à notre variable dans Exemple1.
5 : valeur affectée à notre variable dans Exemple2.
Cet exemple fonctionne donc parfaitement : il n'y a aucun soucis lors de son exécution.
Le vrai problème intervient lors de la modification de ce programme.
Imaginons que nombre1 n'affiche pas le résultat voulu.
Pour pouvoir corriger ce défaut, il va alors falloir remonter le fil de tout notre code pour en comprendre le fonctionnement.
Ainsi, pour corriger un résultat obtenu dans la fonction Exemple3, il va falloir retourner dans la fonction Exemple2, puis finalement, analyser la fonction Exemple1.
Imaginez maintenant le travail que ça nécessiterait avec un code de plusieurs milliers de lignes !
Pour pouvoir trouver l'origine d'une erreur, il faudrait alors explorer des dizaines de fonctions.
Cette façon d'utiliser le verbe Parcourir est donc vivement déconseillée.
Afin de pouvoir utiliser le verbe Parcourir, sans user de variables globales, il convient alors de limiter son utilisation :
Souvenez-vous, le verbe Parcourir peut également être utilisé avec le verbe Revenir.
Voyons voir ce que ça donne dans ce cas :
[php]
Exemple1 :
nombre1 est un nombre valant 3
début
Affiche nombre1
nombre1 vaut 6
Parcours Exemple2
Affiche nombre1
Exemple2 :
début
Affiche nombre1
nombre1 vaut 5
Affiche nombre1
Reviens
[/php]
Voici les résultats :
3 : valeur initiale de notre variable.
6 : valeur affectée à notre variable dans Exemple1.
5 : valeur affectée à notre variable dans Exemple2.
5 : valeur affectée à notre variable dans Exemple2.
Ce code fonctionne.
Néanmoins, l'utilisation de ce verbe ne permet pas de retourner au début de la fonction Exemple1 (avant la ligne 6).
Il permet juste de poursuivre son exécution (après la ligne 6).
Mais ainsi nombre1 reste bien une variable locale.
Le verbe Parcourir associé au verbe Revenir permet alors de la rendre accessible à une autre fonction. (En programmation, on parle de la portée d'une variable.)
Cela évite de devoir créer une variable globale qui deviendra alors accessible dans tout le livre.
Mais justement, utiliser une variable globale paraît bien plus simple, non ?
Oui, mais le problème est le même que notre précédent exemple.
En effet, lors de la recherche d'erreurs de programmation, lorsqu'une variable globale contient une information erronée, il est plus difficile de trouver la source de l'erreur, car la variable a pu être modifiée dans n'importe quelle partie du livre.
De plus, l'utilisation de variables globales rend la modification de notre programme difficile, car il faut alors comprendre le fonctionnement de tout le livre pour savoir comment une seule variable est utilisée, étant donné qu'elle peut être modifiée depuis n'importe quelle fonction.
En conclusion, en utilisant les verbes Parcourir et Revenir, on s'assure que la variable ne peut être utilisée que dans certaines fonctions précises, ce qui facilite la compréhension de notre livre.
Le verbe parcourir
Dans le chapitre précédent, nous avons appris que les variables étaient locales : on ne peut les utiliser que dans la fonction où elles sont déclarées.
Pourtant, il existe une autre façon de réutiliser une variable dans une autre fonction, sans utiliser les variables globales.
En utilisant le verbe Parcourir :
[php]
Exemple1 :
nombre1 est un nombre valant 3
début
Affiche nombre1
nombre1 vaut 6
Parcours Exemple2
Exemple2 :
début
Affiche nombre1
[/php]
Mais... Mais... Ça fonctionne !
Pourtant cette utilisation du verbe Parcourir est à éviter.
Pour en comprendre la raison, complétons notre exemple comme ceci :
[php]
Exemple1 :
nombre1 est un nombre valant 3
début
Affiche nombre1
nombre1 vaut 6
Parcours Exemple2
Exemple2 :
début
Affiche nombre1
nombre1 vaut 5
Va vers Exemple3
Exemple3 :
début
Affiche nombre1
[/php]
Commençons par vérifier les résultats :
3 : valeur initiale de notre variable.
6 : valeur affectée à notre variable dans Exemple1.
5 : valeur affectée à notre variable dans Exemple2.
Cet exemple fonctionne donc parfaitement : il n'y a aucun soucis lors de son exécution.
Le vrai problème intervient lors de la modification de ce programme.
Imaginons que nombre1 n'affiche pas le résultat voulu.
Pour pouvoir corriger ce défaut, il va alors falloir remonter le fil de tout notre code pour en comprendre le fonctionnement.
Ainsi, pour corriger un résultat obtenu dans la fonction Exemple3, il va falloir retourner dans la fonction Exemple2, puis finalement, analyser la fonction Exemple1.
Imaginez maintenant le travail que ça nécessiterait avec un code de plusieurs milliers de lignes !
Pour pouvoir trouver l'origine d'une erreur, il faudrait alors explorer des dizaines de fonctions.
Cette façon d'utiliser le verbe Parcourir est donc vivement déconseillée.
Afin de pouvoir utiliser le verbe Parcourir, sans user de variables globales, il convient alors de limiter son utilisation :
Souvenez-vous, le verbe Parcourir peut également être utilisé avec le verbe Revenir.
Voyons voir ce que ça donne dans ce cas :
[php]
Exemple1 :
nombre1 est un nombre valant 3
début
Affiche nombre1
nombre1 vaut 6
Parcours Exemple2
Affiche nombre1
Exemple2 :
début
Affiche nombre1
nombre1 vaut 5
Affiche nombre1
Reviens
[/php]
Voici les résultats :
3 : valeur initiale de notre variable.
6 : valeur affectée à notre variable dans Exemple1.
5 : valeur affectée à notre variable dans Exemple2.
5 : valeur affectée à notre variable dans Exemple2.
Ce code fonctionne.
Néanmoins, l'utilisation de ce verbe ne permet pas de retourner au début de la fonction Exemple1 (avant la ligne 6).
Il permet juste de poursuivre son exécution (après la ligne 6).
Mais ainsi nombre1 reste bien une variable locale.
Le verbe Parcourir associé au verbe Revenir permet alors de la rendre accessible à une autre fonction. (En programmation, on parle de la portée d'une variable.)
Cela évite de devoir créer une variable globale qui deviendra alors accessible dans tout le livre.
Mais justement, utiliser une variable globale paraît bien plus simple, non ?
Oui, mais le problème est le même que notre précédent exemple.
En effet, lors de la recherche d'erreurs de programmation, lorsqu'une variable globale contient une information erronée, il est plus difficile de trouver la source de l'erreur, car la variable a pu être modifiée dans n'importe quelle partie du livre.
De plus, l'utilisation de variables globales rend la modification de notre programme difficile, car il faut alors comprendre le fonctionnement de tout le livre pour savoir comment une seule variable est utilisée, étant donné qu'elle peut être modifiée depuis n'importe quelle fonction.
En conclusion, en utilisant les verbes Parcourir et Revenir, on s'assure que la variable ne peut être utilisée que dans certaines fonctions précises, ce qui facilite la compréhension de notre livre.