> Tech > Déplacer les codes opération

Déplacer les codes opération

Tech - Par iTPro - Publié le 24 juin 2010
email

Enfin, la principale objection pour RPG en format libre est le manque de support pour les codes opération Move et MoveL (figure 7). Les programmeurs apprécient la facilité avec laquelle ils peuvent accomplir certaines tâches, grâce au dédain que Move et MoveL ont vis-à -vis des types et des attributs de

Déplacer les codes opération

données. Avec ces codes opération,
on peut :

• déplacer des données numériques
dans un champ caractère tout en
préservant les zéros à  gauche

• déplacer des données caractères
dans un champ numérique

• déplacer un champ numérique dans
un champ numérique plus petit,
avec troncature au lieu d’erreur

Ce n’est qu’un aperçu des possibilités
de Move et MoveL et la raison
pour laquelle les programmeurs ont
fait de ces codes opération la base de
leurs applications pendant des décennies.
Cependant, comme avec MoveA, la
puissance de ces codes opération
s’exerce parfois au détriment de la
clarté. Considérons, par exemple, les
fragments de code en format fixe et
libre suivants :

C MoveL Field1 FieldA
C Move  Field2 FieldA
C MoveL FieldA FieldB
C Move Field3  FieldB

Eval FieldB = Field1 + Field2 + Field3

Un coup d’oeil à  la version en format
libre montre exactement ce qu’elle
fait. En revanche, la version en format
fixe demande un peu d’examen. En
fait, on ne peut pas dire en regardant
les seules cartes C ce que seront les résultats
de la version en format fixe.
faut aussi déterminer la longueur de
chaque champ pour connaître le résultat.
Rappelons qu’avec Move et MoveL,
il faut permettre la troncature et la possibilité
de remplacer des données
chaque étape de construction du
champ de résultat final, FieldB. Voyons
maintenant l’aspect maintenance. Si
longueur de certains champs change,
faut apporter de nombreuses modifications
au code pour amener non seulement
le champ du résultat final en
ligne avec la nouvelle longueur totale,
mais aussi tous les champs intermédiaires.
Il en découle que la version en
format libre est plus simple, plus rapide,
moins sujette à  erreur et plus facile
à  maintenir.

Bien sûr, c’est un exemple simple.
Pour répliquer certaines des plus puissantes
fonctions de Move et MoveL,
vous utiliserez diverses méthodes. En
principe, vous utiliserez plusieurs BIF
dans la solution. Parfois, vous utiliserez
aussi des structures de données pour
construire le résultat. Au fil des circonstances,
vous trouverez d’autres
techniques.

Move et MoveL seront très probablement
les codes opération les plus
difficiles à  remplacer pour ceux qui
convertissent en RPG en format libre.
Je ne pense pas pour autant que
tâche soit impossible. Certains programmeurs
continuent à  arguer qu’il
est facile de connaître avec certitude
l’intention des opérations de déplacement
et que cette conversion au format
libre sera difficile. Mais, précisément,
l’argument que la conversion est
difficile est la preuve même que les
opérations de déplacement manquent
de clarté.

Téléchargez gratuitement cette ressource

Endpoint Security : Guide de Mise en œuvre

Endpoint Security : Guide de Mise en œuvre

Détournement d’applications légitimes, élévation de privilèges, logiciels malveillants furtifs : comment les solutions de Endpoint Security permettent elles de faire face aux nouvelles techniques d'attaques complexes ? Découvrez, dans ce Guide Endpoint Security, les perspectives associées à leur mise en œuvre.

Tech - Par iTPro - Publié le 24 juin 2010

A lire aussi sur le site

Revue Smart DSI

La Revue du Décideur IT