Buchbesprechung: Clean ABAP

Das neue Buch liefert eine Referenz für die Anwendung von Clean-Code-Prinzipien in der Programmiersprache ABAP – und markiert damit einen wichtigen Meilenstein.

In Pocket speichern vorlesen Druckansicht 21 Kommentare lesen
Not All Fairy Tales Have Happy Endings
Lesezeit: 6 Min.
Von
  • Michael Keller
Inhaltsverzeichnis
Buchbesprechung:

Klaus Haeuptle, Florian Hoffmann, Rodrigo Jordão, Michel Martin, Anagha Ravinarayan, Kai Westerholz
Clean ABAP – A Style Guide for Developers
Rheinwerk/SAP Press 2021
351 Seiten, 79,90 Euro (Print), 74,90 Euro (E-Book)
ISBN: 978-1-4932-2026-7

Die Programmiersprache ABAP wird seit rund 40 Jahren zum Umsetzen betriebswirtschaftlicher Anforderungen in Unternehmen aus unterschiedlichen Branchen genutzt. Bemerkenswert dabei: Sie ist umfassend abwärtskompatibel. Das verschafft Unternehmen die so wichtige Investitionssicherheit, für Entwicklerinnen und Entwickler ergeben sich dadurch allerdings vielfältige Herausforderungen.

Zum einen müssen Anwendungen über viele Jahre gewartet werden, deren grundlegende Entwicklung lange zurückliegen kann und die unter Umständen mit einem anderen Verständnis von Programmierung und den damaligen Möglichkeiten von ABAP entwickelt wurden. Die Nachvollziehbarkeit ist hier nicht immer einfach. Daneben entstehen täglich neue Anwendungen.

Wartung und Neuentwicklung gemein ist, dass sie nach einem modernen Verständnis von Programmierung und den modernen Möglichkeiten von ABAP gestaltet werden sollen. Zumal gerade in den letzten zehn Jahren ABAP stark modernisiert wurde. Neue Technologien wie das RESTful Application Programming Model sind hinzugekommen, wie auch neue Möglichkeiten, um die Wartbarkeit von Quelltext zu verbessern. Daher spricht man heute auch von "Modern ABAP".

Häufig lassen sich historisch gewachsene Aufgabenstellungen mit ABAP unterschiedlich lösen. Manchmal gibt es zwei bis drei Lösungsansätze, von denen aber nur einer dem modernen Verständnis von ABAP gerecht wird. Das ist nicht nur für Einsteiger eine Herausforderung, auch erfahrene Entwickler müssen ihr Fachwissen ständig infrage stellen und dürfen sich nicht auf den einmal gemachten Erfahrungen ausruhen – das gilt übrigens für alle Programmiersprachen.

Clean ABAP – A Style Guide for Developers

(Bild: Rheinwerk)

Und damit beginnt auch die Geschichte der SAP-Mitarbeiter Klaus Haeuptle und Florian Hoffmann, die sich mit der beschriebenen Situation konfrontiert sahen. Als Reaktion begannen sie, Clean-Code-Prinzipien auf ABAP anzuwenden und zunächst mit Arbeitskollegen aus ihrem Produktbereich zu besprechen und zu dokumentieren. Später wurde die Diskussion auf das gesamte Unternehmen ausgeweitet. So entstand ein Inner-Source-Projekt, eine "Open Source"-artige Kultur innerhalb der SAP. Das ist für ein Unternehmen mit weltweit knapp 100.000 Mitarbeitern – darunter viele Entwickler – ein großer Schritt.

Im Mai 2019 wurde aus dem Inner-Source- ein Open-Source-Projekt, und die gesammelten Erfahrungen in einem GitHub Repository namens "Clean ABAP" öffentlich zur Verfügung gestellt. Damit erhielten tatsächlich viele Menschen Zugriff auf das Projekt, denn SAP hat weltweit schon über 300.000 Kunden und hinzu kommt noch ein komplexes Ökosystem aus Beratungs- und Entwicklungshäusern. Das Projekt stieß auf positive Resonanz und zog weitere Mitwirkende an, die halfen, das Repository weiter auszubauen. So entstanden unter anderen Übersetzungen ins Chinesische und Französische.

Gemeinsam mit Rodrigo Jordão, Michel Martin, Anagha Ravinarayan und Kai Westerholz schufen Klaus Haeuptle und Florian Hoffmann aufbauend auf dem Projekt das Buch "Clean ABAP", das seit Kurzem als gedrucktes und digitales Exemplar in englischer Sprache erhältlich ist. Auf 351 Seiten gehen sie in insgesamt 14 Kapiteln ausführlich auf eine Vielzahl an Themen rund um Clean Code in ABAP ein. Darunter wichtige Aspekte wie der sinnvolle Einsatz von Klassen und Schnittstellen, aber auch eher trivial erscheinende wie die Namensgebung von Entwicklungsobjekten.

Im Unterschied zum GitHub Repository, das sich vorwiegend auf die Wirkung des Gegensatzes aus negativem und positivem Beispiel stützt, liest sich das Buch fließend und führt den Leser elegant durch die vielen Aspekte von Clean ABAP. Dabei ist es mehr als eine Zusammenfassung der Inhalte des GitHub Repository und bietet auch darüber hinausgehende komplexere Beispiele.

Wichtig für die Umsetzung im Entwickleralltag ist das Kapitel "How to implement Clean ABAP", das eine Anleitung bietet, die Empfehlungen und Vorschläge in die tägliche Praxis zu überführen. Dieser Herausforderung müssen sich nicht nur einzelne Entwickler stellen, sondern insbesondere Teams, die häufig Teil einer (komplexen) Organisation sind.

An Clean Code, auch und gerade im ABAP-Umfeld, führt zumindest nach der Erfahrung des Autors dieser Rezension kein Weg vorbei. Per simpler Anordnung durch den Vorgesetzten nach dem Motto "Buch lesen und Clean ABAP programmieren" geht es aber nicht. Die Betreffenden müssen eigene Erfahrungen sammeln und "Clean ABAP" in der Praxis erleben, um dann für andere zum Botschafter für die Umsetzung werden zu können. Aus dieser Perspektive betrachtet war das Buch schon längst überfällig und markiert einen wichtigen Meilenstein – neben der stetigen Modernisierung der Programmiersprache.

Übrigens muss man nicht mit jeder Empfehlung im Buch konform gehen, aber Lesen und Reflektieren bewirkt eine intensive Auseinandersetzung mit dem eigenen Programmierstil. Und da das Buch eine Vielzahl typischer Fragen aus dem Entwickleralltag aufgreift, ergibt sich viel Veränderungspotenzial.

Bleibt noch die Frage, wer das Buch lesen sollte. Die ist schnell beantwortet: jeder ABAP-Entwickler. Während bereits Einsteiger in die Programmiersprache von der Lektüre des Buchs profitieren, sollte sie für alle erfahrenen ABAP-Entwickler Pflicht sein. Denn gerade bei ihnen trifft häufig ein persönlicher, seit Jahren eingeschliffener Programmierstil auf Empfehlungen, die den unbequemen Weg der Veränderung weisen – raus aus der Wohlfühl- und Komfortzone des gewohnten und vertrauten Programmierstils. Dazu eröffnen die Kapitel des Buchs Anregungen auf einer Vielzahl von Ebenen.

Da Veränderungen nach der persönlichen Erfahrung des Autors dieser Rezension viel Zeit in Anspruch nehmen, sollte man lieber früher als später damit beginnen. Das Buch ist auf diesem Weg auf jeden Fall ein wertvoller und hilfreicher Begleiter.

Michael Keller
arbeitet als Softwareentwickler mit der Programmiersprache ABAP im Logistikumfeld von SAP-ERP-Systemen. Darüber hinaus beschäftigt er sich auch in seiner Freizeit mit dieser Sprache, ist als Blogger in der SAP-Community und als Dozent an einer Fachhochschule tätig.

[Anmerkung d. Red.: Der Rheinwerk Verlag als Herausgeber des Buchs ist Teil der Heise Gruppe]

(map)