ABAP Regel #2: Teile und Herrsche

Das Aufteilen des Codings in Unterprogramme mit Hilfe von Performs, Hilfs-Methoden und Funktionsbausteine dient nicht nur der Wartbarkeit des Codings. Durch die Modularisierung können ganze Codingstrecken wiederverwendet werden und müssen nicht redundant gepflegt werden.
Welche Kriterien sind für eine Kapselung geeignet:

  • Codingstrecken mit einer Zeilenlänge die 500 übersteigt
  • Zugriffe auf Konfigurations- oder Datenbanktabellen
  • Funktionen & Berechnungen wie Mengenumrechnung

Abhängig von der Verwendungsart des ausgelagerten Codings sollte die Verschaalung gewählt werden:

  • Performs für Zugriffe innerhalb einer Funktionsgruppe
  • Funktionsbausteine für Zugriffe innerhalb des gesamten Systems (oder auch systemübergreifend durch remotefähige Funktionsbaustein)
  • Klassen-Methoden um eine Menge von Routinen zu gruppieren (Einfachstansatz mit statischen Methoden, Singelton Konzept oder Instanzmethoden wenn man die Zugriffe während der Laufzeit kontrollieren möchte)

Habt ihr weitere Vorschläge, dann schreibt uns. Oder Diskutiert mit uns im ABAPforum unter ABAP® Core

Noch keine Bewertungen
500 Zeilen sind IMHO zuviel

Ich habe mir die Empfehlungen der Guides (siehe http://www.abapforum.com/forum/viewtopic.php?f=18&t=16001 ) zu Herzen genommen. Dort steht als Faustregel:
- ein Unterprogramm muss auf eine Druckseite passen
- Unterprogramme unter 3 Zeilen nur in Sonderfällen
- nicht mehr als 10 DATA-Definitionen im Unterprogramm

Seither sind meine Programme viel besser les- und wartbar. Wenn ein U.p. zu lange geworden ist, gehe ich in etwa so vor:

- was zwischen if/endif loop/endloop usw. steht, in ein Unterprogramm auslagern

- ist das UP dann immer noch zu lange, gliedere ich thematisch.

Im Übrigen würde ich PERFORMS nur noch in Sonderfällen nutzen. Klassen und Methoden sind auf jeden Fall die bessere Wahl. Doch das ist einen weiteren Thread wert...

Verfasst von cosmo am 04.12.2008 - 19:21.