Rational Developer for System z fournit un moteur d'analyse
qui permet aux développeurs d'analyser leur code COBOL dès le début
de la phase de développement, afin de s'assurer qu'ils suivent les
directives internes de leur site, les bonnes pratiques, normes de
codage, etc.
Rational Programming Patterns for System
z a élargi cet outil afin d'obtenir un outil d'analyse des entités
de design et du code spécifique.
Software Analyzer, permet de lancer l'analyse du code COBOL suivant
un ensemble de règles sélectionnées, il fournit la liste des éléments
qui ne respectent pas les règles et propose d'appliquer des correctifs
rapides le cas échéant.
Mise en oeuvre
Avant de lancer une analyse
du code COBOL, vous devez définir une configuration d'analyse au niveau
du Software Analyzer, et préciser :
- la portée (analyser tout l'espace de travail, un ensemble de projets
(feature) ou limiter l'analyse à un ou plusieurs projets),
- les règles à prendre en compte dans l'analyse. Pour chaque règle
sélectionnée, vous pouvez préciser le niveau de gravité (Recommandation,
Avertissement ou Grave).
Vous pouvez ensuite lancer l'analyse sur un fichier ou
projet sélectionné par clic droit, action Software Analyzer et
sélectionnez la configuration créée au préalable. La vue "Résultats
Software Analyzer" affiche alors la liste des règles non
respectées. Il y a une arborescence pour chaque catégorie de règles.
Le premier niveau représente la catégorie, le second niveau représente
la règle et le dernier niveau liste les instances en erreur. Pour
voir le détail d'une violation, sélectionnez le fichier concerné,
clic droit et action Visualiser le résultat.
Le fichier COBOL s'ouvre dans l'éditeur à l'endroit de la violation
et la ligne en erreur est en surbrillance.
Après avoir corrigé
la ou les violations et ensuite sauvegardé, vous pouvez de nouveau
lancer l'analyse du fichier pour vérifier le respect des règles.
Pour
une information complète sur le Software Analyzer, consultez l'aide
en ligne de Rational Developer for System z, dans la rubrique "Révision
du code COBOL" de la section "Développement".
Analyse des entités de design
Software Analyzer
a été élargi et propose une analyse des entités de design Rational
Programming Patterns for System z.
Il existe deux catégories
de règles pour cette analyse :
- La catégorie Toutes Entités regroupe les
règles :
- Toute entité de design doit avoir un libellé
- Toute entité de design doit porter au moins un mot clé
- La catégorie Entités Segment comprend les
règles :
- Un segment ne doit pas appeler deux fois la même rubrique
- Un segment ne doit pas utiliser de rubrique non définie
Révision du code spécifique COBOL
Software
Analyzer propose des règles standard qui ont été complétées par des
règles Rational Programming Patterns for System z. Ces règles s'appliquent
uniquement au code spécifique inséré par l'utilisateur dans un programme
COBOL généré.
Pour les différencier des règles standard
Rational Developer for System z, les règles Rational Programming Patterns
for System z sont toutes préfixées par RPP /.
Il existe
quatre catégories de règles RPP. Les règles de la catégorie Programmation
Pilotée par Pattern sont spécifiques à Rational Programming Patterns
for System z et n'ont pas leur équivalent dans Rational Developer
for System z.
En revanche, les règles de Conventions
de dénomination, de Performance et de Structures du programme sont
équivalentes aux règles qui existent dans Rational Developer for System
z, mais restreignent le contrôle aux portions de code spécifique.
- La catégorie RPP / Programmation Pilotée par Pattern regroupe
les règles :
- RPP / Les fonctions utilisateur doivent avoir un commentaire.
La
règle vérifie que toute fonction écrite en spécifique est précédée
d'une ligne de commentaire non vide. Il doit y avoir au moins 1 caractère
de la colonne 8 à la colonne 72.
- RPP / Ne jamais écraser une ligne générée.
La règle
vérifie qu'aucune ligne de code généré, y compris le code issu d'une
Macro, n'est écrasée.
- RPP / Ne jamais écraser une ligne provenant d'une macrostructure.
La
règle vérifie qu'aucune ligne de code issue d'une Macro n'est écrasée.
- RPP / Tout code utilisateur doit être dans une fonction utilisateur.
La
règle vérifie que tout bloc de code spécifique est inséré dans une
fonction spécifique. Le bloc de code spécifique doit débuter par l'étiquette
"FXXXX" et se terminer par l'étiquette "FXXXX-FN".
Si
une ligne de code spécifique se trouve dans une fonction qui est générée
ou bien qui provient d'une Macro, il y aura violation de la règle.
- la catégorie RPP / Conventions de dénomination comprend
la règle "RPP / Utiliser un PROGRAM-ID correspondant au nom du fichier
ou membre".
- la catégorie RPP / Performance englobe
les règles :
- RPP / Eviter l'instruction INITIALIZE. Utiliser l'instruction
MOVE ou une clause VALUE
- RPP / Eviter la clause OCCURS DEPENDING ON
- RPP / Eviter les indices dans l'accès aux tables
- RPP / Utiliser des indices binaires
- RPP / Utiliser l'instruction EVALUATE plutôt qu'un IF imbriqué
- RPP / Utiliser la valeur DFHRESP pour contrôler un code de réponse
- La catégorie RPP / Structures du programme comprend
les règles :
- RPP / Eviter l'instruction CALL avec un nom de programme. Utiliser
un CALL dynamique
- RPP / Eviter l'expression CORRESPONDING
- RPP / Eviter l'expression NEXT SENTENCE
- RPP / Eviter l'instruction ACCEPT
- RPP / Eviter l'instruction ACCEPT FROM CONSOLE
- RPP / Eviter l'instruction ALTER
- RPP / Eviter l'instruction COPY SUPPRESS
- RPP / Eviter l'instruction ENTRY
- RPP / Eviter l'instruction EXIT PROGRAM
- RPP / Eviter l'instruction GO TO
- RPP / Eviter la clause RESERVE dans un paragraphe FILE-CONTROL
- RPP / Eviter la clause THRU avec l'instruction PERFORM
- RPP / Eviter les instructions STOP RUN et STOP
- RPP / Une instruction GO TO ne peut référencer un paragraphe que
s'il s'agit d'une sortie
- RPP / Utiliser la clause THRU avec l'instruction PERFORM
- RPP / Utiliser la clause WHEN OTHER avec l'instruction EVALUATE