END-IF |
Fin si |
|---|---|
| Cobol | |
Syntaxe
|
IF condition instruction END-IF. |
|
IF condition instruction1 ELSE instruction2 END-IF. |
Paramètres
| Nom | Description |
|---|---|
| condition | Ce paramètre permet d'indiquer une expression booléen devant être vrai |
| instruction | Ce paramètre permet d'indiquer l'instruction exécuté si la condition est vrai |
| instruction1 | Ce paramètre permet d'indiquer l'instruction exécuté si la condition est vrai |
| instruction2 | Ce paramètre permet d'indiquer l'instruction exécuté si la condition est fausse |
Description
Cette instruction indique la fin d'un bloc de comparaison de condition débuté par «IF».
Remarques
- L'instruction END-IF permet de clôturer explicitement un bloc conditionnel débuté par IF, ce qui améliore la clarté et la lisibilité du code. Elle est surtout utile dans les programmes complexes où plusieurs blocs IF sont imbriqués. Cela évite toute confusion sur la portée de l'instruction conditionnelle.
- Avant l'introduction de END-IF, COBOL utilisait des règles d'imbrication implicites basées sur la position des instructions. Cela pouvait entraîner des erreurs de logique difficiles à repérer. END-IF rend donc la structure du programme beaucoup plus explicite et sécurisée.
- Lorsque le bloc IF contient un ELSE, END-IF devient encore plus essentiel, car il permet de clairement délimiter les instructions à exécuter dans chaque branche. Cela évite les ambiguïtés, notamment quand les instructions sont sur plusieurs lignes. L'usage de END-IF devient alors une bonne pratique incontournable.
- Les programmes COBOL modernes exigent souvent l'utilisation systématique de END-IF, surtout lorsqu'ils sont compilés avec l'option END-VERB. Cette exigence renforce la discipline de codage et évite les comportements inattendus. Cela facilite également le travail des outils de relecture de code.
- L'instruction END-IF agit comme une balise fermante (analogue à } en C ou Java), permettant de mieux organiser le flux du programme. Elle contribue à une présentation plus logique, surtout dans des blocs de traitement longs ou à conditions multiples. Elle est donc indispensable pour la maintenance du code sur le long terme.
- Lorsqu'un IF est imbriqué dans un autre IF, le rôle de END-IF est capital pour éviter les erreurs de portée. Il permet de clairement distinguer chaque niveau d'imbrication et d'identifier facilement la fin de chaque bloc conditionnel. Cela simplifie la compréhension du programme, même pour un lecteur extérieur.
- END-IF est particulièrement utile dans les procédures longues qui incluent plusieurs conditions dépendantes les unes des autres. Il aide à structurer le code de manière hiérarchique et lisible, réduisant le risque de bogues lors de modifications. Cette structure claire est également bénéfique pour les tests unitaires et le débogage.
- Utiliser END-IF permet de produire un code conforme aux standards de qualité industrielle et aux recommandations de nombreux auditeurs de code COBOL. Son absence peut être considérée comme une faiblesse structurelle du code dans les audits. C'est donc un élément essentiel pour garantir la robustesse et la lisibilité du programme.
Dernière mise à jour : Jeudi, le 28 juillet 2011