ALTER |
Modifier |
|---|---|
| Cobol | |
Syntaxe
|
ALTER procedurename1 TO [PROCEED TO] procedurename2 [, procedurename3 TO [PROCEED TO] procedurename4] |
Paramètres
| Nom | Description |
|---|---|
| procedurename1 | Ce paramètre permet de désigner le nom d'une procédure déjà existante dans le programme. Il représente le point d'entrée initial d'une séquence de traitement, que l'on souhaite rediriger vers une autre procédure. Dans le contexte de ALTER, il s'agit d'une procédure qui sera "altérée", c'est-à-dire modifiée pour pointer ailleurs. |
| procedurename2 | Ce paramètre permet d'indiquer la nouvelle destination vers laquelle l'exécution devra se diriger lorsqu'un GO TO procedurename1 est appelé. En utilisant ALTER procedurename1 TO PROCEED TO procedurename2, on redéfinit le flux du programme : toute future tentative de se rendre à procedurename1 exécutera en réalité procedurename2. Le mot clef PROCEED TO est optionnel et souvent omis, car il n'ajoute pas de logique fonctionnelle spécifique - il est là pour une meilleure lisibilité du code. |
| [, procedurename3 TO [PROCEED TO] procedurename4] | Cette partie permet de chaîner plusieurs modifications dans une seule instruction ALTER. Ainsi, plusieurs redirections peuvent être définies en une seule ligne, ce qui peut être utile lorsqu'on veut modifier rapidement plusieurs branches de logique sans les dupliquer. |
Description
Cette instruction permet de modifier une séquence prédéterminé d'opérations.
Remarques
- ALTER est une instruction de redirection dynamique : Elle permet de modifier à l'exécution la destination d'un GO TO. Cela signifie que le comportement du programme peut changer en fonction de l'état de la logique ou des conditions rencontrées précédemment, ce qui était utile à une époque où les structures de contrôle étaient plus limitées.
- Elle repose sur la manipulation du flot d'exécution : En redirigeant une procédure vers une autre, ALTER intervient directement sur le contrôle du programme. C'est un mécanisme puissant mais qui peut devenir dangereux si mal utilisé, car il casse le flux linéaire du code.
- ALTER rend la logique du programme moins lisible : L'usage de cette instruction est souvent déconseillé dans les pratiques modernes. En effet, il devient difficile de prédire le comportement d'un GO TO, car il ne mène plus nécessairement à la procédure d'origine. Cela complique la maintenance du code.
- C'est une instruction issue des anciennes pratiques COBOL : ALTER reflète une époque où les langages n'offraient pas encore de structures de contrôle robustes comme les IF, PERFORM, ou EVALUATE. Elle permettait alors une certaine forme de programmation conditionnelle ayant été largement dépassée.
- Le mot clef PROCEED TO est optionnel : Bien que PROCEED TO ne change pas la logique de l'instruction, il est parfois utilisé pour rendre le code plus lisible. Cela montre l'intention du programmeur de rediriger volontairement le flux d'exécution, ce qui peut aider à comprendre la logique lors du débogage.
- ALTER peut être utilisé pour construire des menus ou logiques adaptatives : On le retrouve parfois dans des programmes devant adapter leur comportement selon un contexte, comme un menu qui change dynamiquement les options disponibles. Cela peut être pratique, mais très difficile à maintenir.
- L'instruction est rarement utilisée dans les projets modernes : Aujourd'hui, la redirection dynamique est généralement évitée. On préfère des constructions comme PERFORM avec des conditions ou EVALUATE (équivalent du switch/case) pour un code plus structuré et plus facile à lire.
- ALTER peut altérer plusieurs procédures en une seule ligne : Grâce à la possibilité de chaîner plusieurs paires procedurenameX TO procedurenameY, il devient possible de reconfigurer rapidement plusieurs routes d'exécution dans un seul appel. Bien que concis, ce style peut entraîner des erreurs si les redirections ne sont pas clairement documentées.
Dernière mise à jour : Jeudi, le 28 juillet 2011