SAP Career Guide - A beginner’s manual on SAP careers for students and professionals

I myself have 14 years of experience in various modules. The book is sensationally written. Great examples, excellent integration aspects, one of the best non-fiction books I have ever read.

D. Filler

Qualitätsmanagement in der ABAP-Entwicklung unter SAP - 2., überarbeitete Auflage

Mit der Neuauflage dieses Praxishandbuchs erhalten Entwickler und SAP-Berater, die mit der ABAP-Programmiersprache vertraut sind und nachvollziehbare bzw. wartungsfreundliche Algorithmen entwickeln wollen, einen noch größeren und praxisnäheren Fundus von ...

Table of content

  • Vorwort
  • 1 Die Programmierbeispiele
  • 2 Robustes Softwaredesign
  • 3 Dokumentation
  • 4 Strukturiertes Testen
  • 5 Bestandscode
  • 6 Werkzeuge
  • 7 Tipps für das Management
  • 8 Fazit
  • 9 Anhang
  • 10 Quellenangaben
  • A Der Autor
  • B Disclaimer

More Information

Author:

Johannes Gerbershagen

Category:

SAP-Programming

Language:

Deutsch

Reading sample

2.1   Übersichtlicher und verständlicher Source Code

Bei größeren Projekten empfiehlt es sich, den Source Code übersichtlich und verständlich zu gestalten. In der folgenden Liste möchte ich Ihnen daher einige einfache Gestaltungsrichtlinien vorstellen, die dazu beitragen.

Prozeduren kurz halten:
  • Sie müssen weniger am Bildschirm scrollen. Idealerweise kann der Bildschirm die Prozedur komplett darstellen.
  • Die Aufteilung in kleinere Einheiten erleichtert den Überblick und die Navigation. Wenn Sie sich nur einen Prozedurnamen zu merken oder aufzuschreiben brauchen, ist das meistens leichter, als eine Reihe von Anweisungen und Variablen im Kopf zu behalten.
  • Tief verschachtelte Schleifen und IF-ELSE-Blöcke lassen sich damit vermeiden.
Aussagekräftige Programm-, Klassen-, Methoden-, Prozedur- und Parameternamen vergeben:
  • oft verwendete Abkürzungen dokumentieren,
  • einheitliche Begriffe und Abkürzungen verwenden, die dem gesamten Team geläufig sind.

Aussagekräftige Namen und auch Kommentare sollen die Implementierung so detailliert beschreiben, dass sie von jedem Entwickler verstanden werden kann. Wofür wurde unser Programm konzipiert? Welchen Zweck erfüllt diese Prozedur? Mit welchen Werten sind die Eingabeparameter zu übergeben? Unter welchen Umständen werden Ausnahmen oder Fehlermeldungen geworfen? Die entsprechenden Antworten sollten wir den Namen bzw. Kommentaren entnehmen können.

Innerhalb von Prozeduren können Sie mit frei formulierten Kommentaren den Zweck Ihrer Anweisungen ausdrücken. Nach außen können Sie die für die Verwendung der Prozedur relevanten Informationen als ABAP-Doc-Kommentare bereitstellen. Listing 2.1 zeigt die Platzierung eines ABAP-Doc-Kommentars vor der entsprechenden Methodendefinition.

"! Liest alle Positionen (abgesagte und
"! nicht abgesagte Angebote).
"! @parameter angebots_nummern | Positionen dieser 
"! Angebote werden gelesen 
"! @parameter positionen | alle Strukturfelder 
"! werden mit den Werten aus der Tabelle vbap 
"! uebergeben
 
METHODS get_angebotspositionen 
  IMPORTING
    angebots_nummern TYPE zangebots_kopfdaten
  EXPORTING
     positionen TYPE zangebots_positionen.

Listing 2.1: Beschreibung einer Methode mit ABAP-Doc-Kommentaren

Auf die Syntax der ABAP-Doc-Kommentare gehe ich nochmal detailliert in Abschnitt 3.3 ein.

Die verwendeten Namen sollten einer eindeutigen Terminologie folgen. Sie sollten sie daher sinnvollerweise mit den Prozesseigentümern und den Entwicklern abstimmen, damit die Terminologie in einem klaren Zusammenhang mit dem im Code abgebildeten Geschäftsprozess steht. APIs bzw. Bibliotheken, die technischer Natur sind (z.B. die RTTS[RunTime Type Services]-Klasse cl_abap_typedescr), können mit technischen Fachbegriffen beschrieben werden. Bei anwendungsspezifischen Quelltexten ist die Verwendung von Fachbegriffen, die dem Geschäftsprozess entlehnt wurden, oft aussagekräftiger als eine rein auf die technische Umsetzung fokussierte Terminologie.

Aussagekräftige Namen: Tell don’t ask

Die Klasse zangebote_abgesagt enthält die Methode get_angebotskopfdaten. Aus technischer Sicht hätte ich diese Methode auch kurz get_vbak nennen können, da hier Datensätze aus der Tabelle vbak gelesen werden. Der Methodenname get_vbak wirft allerdings einige Fragen auf. Wenn Sie die Abkürzung vbak für »Vertriebsbelege Kopfdaten« nicht kennen, würden Sie sich sicherlich fragen: Was bedeutet vbak? Und selbst wenn Sie sie kennen, würden Sie sich vielleicht fragen, welche Vertriebsbelege aus der Tabelle vbak gelesen werden (Angebote, Kontrakte oder Aufträge).

Versionsverwaltungswerkzeuge richtig nutzen:

Änderungshinweise mit Autor und Datum in den einzelnen Zeilen erschweren nach vielen Modifikationen die Lesbarkeit und Verständlichkeit. Versionsverwaltungswerkzeuge dokumentieren bereits alle Änderungen mit Autor, Datum und den eingefügten, geänderten sowie gelöschten Zeilen.

  • Das Versionsverwaltungswerkzeug der ABAP Workbench ist, wie in Abbildung 2.1 ersichtlich, über den Menüpfad Hilfsmittel • Versionen • Versionsverwaltung zu erreichen. Bei der Freigabe eines Transportauftrages wird automatisch eine neue Version erzeugt. Die älteren Versionen gehen nicht verloren, wenn Sie auf Änderungshinweise im Code verzichten.
  • Inzwischen gibt es auch Open-Source-Versionsverwaltungswerkzeuge wie git® (https://git-scm.com) und abapGit (https://github.com/larshp/abapgit), mit denen Sie die Änderungen im Source Code optimal nachvollziehen können. Beide Werkzeuge stelle ich in Abschnitt 6.1 detailliert vor.

ABAP

Abbildung 2.1: Versionsverwaltung in der ABAP Workbench

All content - Learn for 7 days now, free of charge and with no obligation.

7 days of free and unlimited access to all learning content1 und den Espresso Tutorials SAP-Copiloten Espressi.

1
Enter mail
2
Confirm mail
3
Learn 7 days

1. You can unsubscribe from the Espresso Tutorials newsletter at any time by clicking on Unsubscribe in an email from the newsletter.

Already have an account? Log in now.

1 You will have access to all learning content included in the Silver subscription. Certificates are part of the Gold subscription. Online training courses are NOT part of the Digital subscription.