Si votre programme contient beaucoup d'instructions Goto, il peut alors être appelé un "programme spaghetti". Un programme structuré n'utilise pas de Goto. Par conséquent, comment pouvez-vous supprimer les Goto de votre programme ?


Les Boucles Infinies

Si vous utilisez un Goto pour faire une boucle infinie, vous pouvez utiliser l'instruction While pour faire cette boucle.


Avant

start:
DoSomething()
Goto start


Après

While "True"
  DoSomething()
EndWhile

Remarquez que l'indentation dans la boucle rend votre programme plus lisible. Vous pouvez facilement indenter votre programme en utilisant la commande "Formater le programme" du menu contextuel (clic droit du bouton de la souris) dans l'éditeur. 

Saut Conditionnel

Si vous voulez faire un saut en fonction de la valeur d'une variable, les instructions If-Then-ElseIf peuvent être utiles pour cette situation.


Avant

If case = "a" Then
  Goto a
EndIf
If case = "b" Then
  Goto b
EndIf
Goto end
a:
DoForA()
Goto end
b:
DoForB()
end:


Après

If case = "a" Then
  DoForA()
ElseIf case = "b" Then
  DoForB()
EndIf

Cas plus Compliqué

Actuellement, il y a beaucoup de flux complexes dans les programmes. Aussi, parfois le Goto semble être plus simple à utiliser q'une instruction structurée comme For, While ou If-Then-Else. Mais dans la plupart des cas en utilisant un indicateur (ou plusieurs), vous pouvez supprimer les Goto de votre programme.


Avant

loop:
Search()
If eof Or found Then
  Goto break
EndIf
Goto loop
break:


Après

continue = "True"
While continue
  Search()
  If eof Or found Then
    continue = "False"
  EndIf
EndWhile

Les variables 'eof', 'found' et 'continue' sont des indicateurs contenant "True" ou "False".

Voir Aussi

Autres Langues