Par Nicholas Delessio
Le RPG est un langage de programmation unique par sa simplicité complexe.
Créé à la fin des années 1950, il a évolué lentement mais sûrement au cours des décennies. Les cartes perforées, les bandes de papier, les bandes magnétiques, les blinkenlights, les terminaux à phosphore vert (ou ambré si vous préférez), les tubes cathodiques et les écrans à cristaux liquides se sont tous heurtés à ce langage. Au fur et à mesure que les besoins des entreprises évoluaient, le langage évoluait lui aussi.
Avec un tel bagage, il est facile de penser à tort que le RPG est un langage de dinosaure, mais il a en fait considérablement évolué. Le RPG Free Form d’aujourd’hui ne ressemble en rien aux programmes à colonnes des années 1980 (qui à leur tour ne ressemblent en rien aux programmes à cycle de cartes perforées des années 1960), mais la nouvelle syntaxe est beaucoup plus puissante qu’elle ne l’a jamais été. Cette puissance vient de sa simplicité : du point de vue des autres langages de programmation modernes, le langage RPG Free Form dispose d’une syntaxe extrêmement simple, extrêmement facile à lire. Un programmeur familier avec tout autre langage moderne qui regarderait un programme RPG moderne serait capable, en un coup d’œil, de déterminer sa fonction générale.
C’est parce que l’actuel RPG est un langage moderne.
C’est une excellente chose : le développeur RPG d’aujourd’hui dispose de plus de souplesse que jamais pour utiliser des conventions modernes et faciles à lire dans son code. Du point de vue de l’entreprise, cela signifie une maintenance plus facile, moins de temps passé à traquer les bogues pour continuer à fonctionner.
Malheureusement, rien ne se passe indépendamment des autres. Le RPG n’a pas atteint son état actuel du jour au lendemain ; il y a eu de nombreuses petites étapes sur le chemin du véritable code en format libre, et à chacune de ces étapes, les conventions de codage ont changé un tout petit peu. Il est facile, en tant qu’entreprise ou développeur, de se perdre dans l’état de l’art. Quelles sont les meilleures pratiques actuelles pour le langage ? Leur apprentissage fait-il une réelle différence dans la fonctionnalité du code ? Cela vaut-il la peine de changer par rapport à ce qui est déjà connu et expérimenté ? Le simple fait d’être un format libre suffit-il ?
Bien qu’il n’y ait pas de réponse unique pour tout le monde, ARCAD a fait l’effort d’aider les entreprises qui utilisent un RPG moderne en implémentant les meilleures pratiques dans CodeChecker.
ARCAD CodeChecker était déjà un puissant outil de linting. Il permettait, et permet toujours, aux entreprises de définir des métriques, des règles et des ensembles de règles qui peuvent vérifier un seul programme, ou une base de code entière, pour s’assurer que le code est conforme aux spécifications de l’entreprise. Un code non conforme à ces spécifications peut déclencher un avertissement de courtoisie ou une erreur d’arrêt brutal, en fonction de la règle individuelle et des préférences de l’entreprise.
Des capacités puissantes en effet.
Jusqu’à présent, il revenait aux entreprises de définir elles-mêmes ces règles. Il était logique qu’avec un outil de linting aussi puissant à notre disposition, qui peut déjà parcourir et commenter toute une base de code, nous puissions également proposer un ensemble de règles qui aident le développeur à se conformer aux meilleures pratiques d’aujourd’hui. C’est donc ce que nous avons entrepris de faire.
Nous avons parcouru les différentes versions publiées. Nous avons travaillé avec certains des plus grands spécialistes du domaine, comme Jim Buck, PDG chez imPower Technologies. Nous avons puisé dans notre propre expérience en interne. À l’issue de cet exercice, nous avons obtenu un vaste ensemble de bonnes pratiques qui peuvent être utilisées comme un « guide de style » interactif pour orienter tout développeur cherchant à moderniser ses compétences vers la rédaction d’un code propre et actualisé.
Nos règles tiennent compte de la longueur des noms de variables (qui ne sont plus limités à des boîtes de 8 caractères). Nous prenons en compte la déclaration correcte des paramètres afin de les protéger contre les modifications involontaires. Nous prenons en compte l’utilisation de noms qualifiés pour des éléments tels que les variables et les structures de données, les blocs de contrôle, les champs de longueur variable, etc. ARCAD ne s’est pas contenté de présenter ces règles dans un document facile à suivre, toutes les règles et ensembles de règles ont également été implémentés dans CodeChecker, afin que vous puissiez les appliquer à votre propre code en quelques clics.
Il n’y a pas de solution unique, bien sûr. ARCAD en est conscient. C’est pourquoi, grâce à la flexibilité de CodeChecker, vous pouvez appliquer de manière sélective ces règles à votre code comme vous le souhaitez.. Elles peuvent (et doivent) s’appliquer uniquement au RPGLE. Elles peuvent ne pointer que vers des bibliothèques spécifiques, et être désactivées ou activées au niveau de sécurité que vous souhaitez. Nous vous faisons des recommandations, mais c’est vous qui décidez.
Nous continuons également à chercher à étendre ces règles. Après tout, le RPG est un langage en constante évolution.
Enfin, pour être à la pointe de la technologie, CodeChecker est entièrement compatible avec les solutions Git basées sur ILE. Cela inclut la compatibilité avec le nouveau mode Delta de Git. Nos règles s’appliquent aussi bien aux utilisateurs de systèmes traditionnels qu’aux développeurs de systèmes iSeries les plus avancés. L’outil évolue à votre rythme.
L’évolution de l’entreprise s’accompagne du besoin d’un code plus puissant, plus simple, bien écrit et facile à maintenir. ARCAD CodeChecker aide votre entreprise à atteindre ces objectifs en définissant les meilleures pratiques et en vous aidant à les identifier dans votre code. Un code écrit selon de bonnes pratiques modernes sera plus facile à maintenir à l’avenir, ce qui rendra votre entreprise plus agile et vos développeurs plus à même d’apporter rapidement des modifications et de diagnostiquer les problèmes.
Nous vous fournissons ces règles et mettons ce pouvoir entre vos mains.