Pour certains, les procédures sont des sous-routines dopées ;
pour d'autres, les sous-routines sont des procédures
boiteuses. La vérité se situe probablement entre les deux.
Il est vrai que les procédures sont nettement supérieures
aux sous-routines à bien des égards : valeur de renvoi, transmission
de paramètres et variables locales.
Convertir des sous-routines en procédures

Quand il s’agit de
moderniser une application existante, ou d’en concevoir une
nouvelle, il est logique de préférer les procédures aux sousroutines.
En général, le changement d’une sous-routine en
une procédure passe par les étapes suivantes :
- Extraire la sous-routine de la procédure principale, en la
déplaçant après la dernière spécification de sortie (ou,
mieux encore, dans un membre source séparé). - Changer les lignes BEGSR/ENDSR en spécifications de limites
de procédure (P-specs). - Ajouter une définition de prototype simple.
- Utiliser un appel de procédure au lieu de EXSR pour exécuter
la procédure.
La figure 2 illustre la conversion d’une sous-routine en
une procédure.
Après avoir transformé une sous-routine en procédure,
vous pourrez localiser la définition des variables utilisées seulement
dans la procédure. Vous pourrez aussi ajouter des paramètres
en créant une interface de procédure et en mettant
à jour le prototype et l’appel de procédure. Enfin, profitez de
la faculté qu’a la procédure de renvoyer une valeur à son appelant.
Toutes les procédures transformées en sous-routines
n’ont pas leur place dans des modules NoMain séparés. Bon
nombre d’entre elles peuvent être codées dans le même
membre source que le reste du programme. Mais, si une procédure
évolue à partir d’une sous-routine commune utilisée
par de nombreux programmes, il est bon de centraliser le
code dans un module NoMain unique et de packager celui-ci
dans un programme de service.
Téléchargez cette ressource

Rapport Forrester sur les services de réponse aux incidents de cybersécurité
Dans ce rapport, basé sur 25 critères, Forrester Consulting passe au crible les 14 principaux fournisseurs de services de réponse aux incidents de cybersécurité du marché. Cette analyse complète permet aux professionnels de la sécurité et de la gestion des risques d’évaluer et de sélectionner les solutions les plus adaptées à leurs besoins.