Hallo Dominic,

Programmierstandards müssen immer mit dem Team gelebt werden, von daher zu dem Team passen - was hilft der beste Standard, wenn alle vorhandenen Programme anders aussehen und sich bei neuen Programmen keiner dran hält. Von daher kann man als Außenstehender nicht zu allen Punkten Stellung nehmen.

In jedem Fall ändern sollte man:
- kein #, $ und auch keine weiteren Sonderzeichen aus dem Invarianten Teil des EBCDIC in Bezeichnern verwenden
ich empfehle zu ändern:
- Präfixe und Suffixe für 10stellige Namen vermeiden
- Kommentare nur in Procedure Headern (wenn man ein Codesegment kommentieren muss, gehört es ausgegliedert)
- Subroutines sind generell überflüssig, wenn man Procedures hat und kennt.
- Variablen: adäquater statt minimaler Gültigkeitsbereich (=> kann raus)
- Rückgabewert void würde ich zulassen, stattdessen Fehlerrückgabe durch Exception Mechanismus (senden Escape Message via QMHSNDPM) damit muss die rufende Funktion prüfen, wenn sie nicht percolation vorzieht)
was mir fehlt:
- kein Export von Variablen (stattdessen getter und setter)
- Werkzeuge (damit meine ich nicht RDI, sondern das, was da fehlt!!!)
-- Change Management (absolutes Minimum ist da : sicherstellen reproduzierbarer Compiles, was die Verwendung zentraler BNDDIRs auschließt, ebenso das überschreiben der Signaturen mit ISMIREGAL) Im Minimum kann man da mit einem Präprozessor arbeiten.
-- Version Controll
-- automatisierte Kontrolle der Richtlinien (hier kommt man wohl um einen eigenen Stylechecker nicht drumherum)
-- automatisierte Unterstützung der Richtlinien (z.B.: einen Generator, der aus der CopyStrecke mit den Exporten einen Rahmen generiert - da gibt es was in meiner OpenSource Ecke meiner Website)
-- zum testen gibt es opensource RPGUnit (damit habe ich keine umfassenden praktischen Erfahrungen)
-- ansehen würde ich mir da auch Log4RPG aus derselben Quelle (Thomas Raddatz)

soviel erst mal an Anmerkungen

D*B