Immer wieder stellt sich die Frage, wie weit die Programmierrichtlinien und Namenskonventionen als Vorgabe für die Entwickler gehen sollen. In diesem und den nächsten Artikeln möchten wir einige unserer Erfahrungen in diesem Bereich mit Ihnen teilen.
Zu Beginn sei gesagt, dass ich die Vorgabe in Form von Programmierrichtlinien und Namenskonventionen für sehr sinnvoll halte. Es erleichtert im späteren Betrieb die Wartung und auf das Onboarding von neuen Kollegen. Im ersten Teil möchte ich nun auf die Namenskonventionen für den ABAP-Teil eingehen. Die Vorgaben in diesem Bereich sollten "relativ" bindend für die Entwickler sein.
Objekttyp | Präfix |
Select Option
| SO_*
|
Selektionsparameter
| PA_* |
Lokale Objekte
Objekttyp | Präfix |
Konstante Struktur
| LCS_* |
Konstantes Feld | LCF_*
|
Ranges | LRT_* |
Typ-Definition | LTY_* |
Feld Symbol | <L{Typkürzel des Feldsymbols}_*>
|
Interne Tabelle | LT_* |
Struktur | LS_* |
Variable | LV_* |
Klassen | LCL_* |
Objekte | LO_* |
Datenreferenzen | LR_* |
Globale Objekte
Objekttyp | Präfix |
Konstantes Feld
| GCF_* |
Ranges
| GRT_* |
Typ-Definition
| GTY_* |
Feld Symbol
| <G{Typkürzel des Feldsymbols}_*>
|
Interne Tabelle
| GT_* |
Struktur
| GS_* |
Variable
| GV_* |
Klassen
| GCL_* |
Objekte
| GO_* |
Datenreferenzen
| GR_* |
Konstante Struktur
| GCS_* |
ABAP Objects
Objekttyp | Präfix |
Instanz-Attribute (keine Unterscheidung nach der Sichtbarkeit wie z.B. Private oder Public) | |
Einfache Typen | IA_V_* |
Strukturen | IA_S_* |
Tabellen | IA_T_* |
Klassenreferenz | IA_O_* |
Statische-Attribute (keine Unterscheidung nach der Sichtbarkeit wie z.B. Private oder Public)
| |
Einfache Typen | SA_V_* |
Strukturen | SA_S_* |
Tabellen | SA_T_* |
Klassenreferenzen | SA_O_* |
Konstanten | |
Einfache Typen | CV_* |
Tabellen | CT_* |
Strukturen | CS_* |
Klassenreferenzen | CO_* |
Methoden-Parameter - Import
| |
Einfache Typen | IM_V_* |
Strukturen | IM_S_* |
Tabellen | IM_T_* |
Klassenreferenzen | IM_O_* |
Methoden-Parameter - Export
| |
Einfache Typen | EX_V_* |
Strukturen | EX_S_* |
Tabellen | EX_T_* |
Klassenreferenzen | EX_O_* |
Methoden-Parameter - Returning
| |
Einfache Typen | RE_V_* |
Strukturen | RE_S_* |
Tabellen | RE_T_* |
Klassenreferenzen | RE_O_* |
Methoden-Parameter - Chainging
| |
Einfache Typen | CH_V_* |
Strukturen | CH_S_* |
Tabellen | CH_T_* |
Klassenreferenzen | CH_O_* |