par Brian Meyers Mis en ligne le 06/01/2005 - Publié en Mai 2005
Dans la comédie « The 2,000 Year-Old Man », Carl Reiner interviewait Mel Brooks comme s’il était un homme du passé découvert récemment, avec l’accent yiddish new-yorkais. Tout en échangeant ses souvenirs avec Reiner, Brooks s’émerveillait devant les changements et les réalisations des 2 000 dernières années (« La plus grande réalisation de l’humanité : l’emballage sous film plastique ») et donnait son conseil pour vivre longtemps (« Je ne cours jamais pour attraper un autobus »). Quand il regarde les programmes RPG d’aujourd’hui, le programmeur RPG lambda doit se sentir aussi mal à l’aise que l’homme vieux de 2 000 ans. Les récentes releases ont introduit tellement de changements dans le langage RPG IV que, même si vous codez déjà avec lui, il vous faudra peutêtre une bonne remise à niveau pour exploiter les nouvelles fonctions. Disons-le tout net, un programme RPG IV d’aujourd’hui a peu ou pas de chose à voir avec le RPG original, né dans les années 60.
Et si le langage change rapidement, il est évident que ses meilleures pratiques et règles de style deviennent des cibles mouvantes. Dans toute discussion sur les standards et les pratiques, les objectifs devraient être d’accélérer le processus de développement applicatif, de faciliter la maintenance des programmes, et de réduire les erreurs. Pour atteindre ces objectifs, il faut écrire les programmes en ayant très présents à l’esprit la réutilisation du code et les standards.
Cet article présente quelques suggestions actualisées sur la manière d’écrire des programmes RPG IV faciles à lire, à comprendre et à maintenir. Beaucoup de ces conseils et directives requièrent la V5R1. Si une suggestion requiert une release plus récente, ce sera indiqué.
Style RPG IV : standards et meilleures pratiques
Répétez après moi : « RPG IV est un langage en format libre ; je n’utiliserai pas de calculs en format fixe ». C’est le premier commandement concernant le style RPG IV.
Les avantages du format libre ne sont plus à démontrer. Il est plus facile à lire, à documenter et à maintenir que le code en format fixe. Et sa syntaxe est en harmonie avec d’autres langages informatiques plus modernes.
Bien souvent, la spécification en format libre produira tout naturellement de bons standards, parce que la nouvelle spécification n’autorise pas grand-chose du bagage obsolète et des mauvaises pratiques que permettaient les C-specs en format fixe. De plus, à partir de la V5R2, bon nombre des nouvelles fonctions de RPG ne sont reconnues qu’en format libre.
Eviter de mélanger le style en format fixe et le style en format libre dans les C-specs.Le résultat ainsi obtenu est incohérent et difficile à lire. Bénéficiez pleinement de l’ordre plus naturel et de l’espace étendu qu’offre la spécification en format libre. Lorsque vous coderez des boucles et des groupes, vous constaterez que le code a une meilleure apparence et procure de meilleures sensations, en format libre. Utilisez les expressions en format libre, dans la mesure du possible, pour les expressions arithmétiques, logiques et de type chaîne ; et aussi pour assigner et comparer et, enfin, pour définir des indicateurs (s’ils sont nécessaires). Mais n’abandonnez pas complètement l’alignement en colonnes car il rend les expressions plus faciles à lire. Particulièrement quand une expression continue sur la ligne suivante, alignezla pour la rendre plus compréhensible :
/Free TotalPay = (RegHours * Rate) + (OvtHours * Rate * 1.5) + (DblHours * Rate * 2);
/End-free
Malheureusement, les instructions SQL imbriquées nécessitent encore une entrée en format fixe. En attendant qu’IBM corrige cette gaffe de conception criante, vous pouvez rétablir un peu d’élégance en mettant en retrait le code RPG pour correspondre au code SQL, comme dans la figure 1.
Téléchargez cette ressource
Créer des agents dans Microsoft 365 Copilot
Insight vous guide dans l’utilisation de la nouvelle expérience de création d’agents dans Microsoft Copilot Studio, disponible dans Copilot Chat. Découvrez les étapes clés pour concevoir, configurer et déployer ces nouveaux agents et injecter la puissance de l’IA directement dans le flux de travail.
Les articles les plus consultés
- Activer la mise en veille prolongée dans Windows 10
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Et si les clients n’avaient plus le choix ?
- Afficher les icônes cachées dans la barre de notification
Les plus consultés sur iTPro.fr
- Pourquoi Shopify Plus s’impose dans la transformation du e-commerce B2B
- Cybersécurité 2026 : Deepfakes, IA agentique et déficit de préparation
- Quand l’innovation échappe à ses créateurs: Comment éviter l’effet Frankenstein à l’ère de l’IA
- L’IA agentique, nouveau pilier de la résilience numérique des RSSI
Articles les + lus
Confiance et curiosité : les clés pour entrer (et grandir) en tant que femme dans la tech
Portails développeurs internes : accélérer l’innovation sans alourdir les budgets
Pourquoi Shopify Plus s’impose dans la transformation du e-commerce B2B
Quand l’innovation échappe à ses créateurs: Comment éviter l’effet Frankenstein à l’ère de l’IA
Alliée ou menace ? Comment l’IA redessine le paysage cyber
À la une de la chaîne Tech
- Confiance et curiosité : les clés pour entrer (et grandir) en tant que femme dans la tech
- Portails développeurs internes : accélérer l’innovation sans alourdir les budgets
- Pourquoi Shopify Plus s’impose dans la transformation du e-commerce B2B
- Quand l’innovation échappe à ses créateurs: Comment éviter l’effet Frankenstein à l’ère de l’IA
- Alliée ou menace ? Comment l’IA redessine le paysage cyber
