Clean ABAP
Inhaltsverzeichnis
Entstehungsgeschichte von Clean ABAP
Schlechte Codequalität kostet Unternehmen jedes Jahr viele tausend Euro. Dass Programme fehlerfrei funktionieren, bedeutet nicht zwingend, dass der Quellcode gut geschrieben ist. Auch ein schwer verständlicher, redundanter und unnötig komplizierter Code kann zum gewünschten Ergebnis führen. Doch über die Lebensdauer der Software entstehen hohe Folgekosten. Die Anwendung stellt sich als schlecht wartbar heraus, Fehlerbehebungen sind aufwändig und Anpassungen sowie Erweiterungen nehmen viel Zeit in Anspruch, die bei effizienterer Programmierung in neue Entwicklungen hätte fließen können.
Vor diesem Hintergrund ist das Paradigma „Clean Code“ entstanden. Robert C. Martin hat 2008 in seinem Buch „Clean Code: A Handbook of Agile Software Craftsmanship“ einen Standard für Clean Programming beschrieben, der von vielen Unternehmen und Entwicklern übernommen und individualisiert wurde. Im Laufe der Jahre ist daraus eine Bewegung innerhalb der Entwickler-Community entstanden, die sich für die Verbreitung und Weiterentwicklung von Clean Code einsetzt.
Definition: Clean ABAP
Clean ABAP bezeichnet die Anwendung der Clean-Code-Prinzipien in der ABAP-Entwicklung. Unternehmen orientieren sich dabei am Standardwerk „Clean Code“ von Robert C. Martin und passen die verschiedenen Richtlinien so an, dass sie ihrer Unternehmenssituation bestmöglich gerecht werden.
Zur Inspiration, wie Unternehmen Clean ABAP umsetzen können, haben Entwickler auf GitHub einen Styleguide veröffentlicht, in dem ABAP Best Practices festgehalten sind. Das Dokument ist ein Open-Source-Projekt und wird von der Entwickler-Community kontinuierlich verbessert und überarbeitet.
Die Best Practices beziehen sich unter anderem auf:
- Methoden
- Sprachen
- Konstanten
- Variablen
- Fehlerbehandlung
- Kommentierung
Es geht bei den empfohlenen Standards meist nicht um große, sondern vielmehr um kleine, aber wirkungsvolle Änderungen.
Beispiele für Clean ABAP Best Practices
Ein zentrales Prinzip von Clean Code ist: Don’t Repeat Yourself (DRY). Häufig wird eine Information an mehreren Stellen im Code abgebildet. Das mag bequem sein, führt aber dazu, dass Änderungen, an vielen unterschiedlichen Stellen durchgeführt werden müssen, was Zeit kostet.
Die sprechende Benennung von Variablen zum Beispiel erleichtert das Lesen von Code enorm und verkürzt die Zeit für Einarbeitung. Es empfiehlt sich, Substantive für Klassen und Verben für Methoden zu verwenden.
Funktionen sollten ausschließlich das tun, was man nach Lesen der Bezeichnung erwartet oder von Funktionen und Methoden des gleichen Musters gewohnt ist (Prinzip der geringsten Überraschung). In einer Funktion sollte auch immer nur eine Abstraktionsebene behandelt werden. Auch die konsequente Anwendung von objektorientierten Prinzipien gehört zu den Empfehlungen von Clean Code. Den vollständigen Styleguide können Sie auf GitHub ansehen.
Anwendungsgebiete von Clean ABAP
Clean ABAP lässt sich in jedem Unternehmen anwenden, in dem Entwickler in ABAP programmieren oder Wartungen vornehmen. Da es sich um eine Sammlung von individuell anpassbaren Praxisempfehlungen handelt, sind keine besonderen Systemanforderungen Voraussetzung für den Einsatz.
Jedes Unternehmen profitiert von einer besseren Lesbarkeit des Codes. Je größer die Rolle der ABAP-Anwendungen im Unternehmen, desto größer die positiven Auswirkungen. Grundsätzlich ist die Umsetzung der Prinzipien jedoch in jeder Organisation erstrebenswert.
Vorteile
Clean ABAP ist nicht nur eine Strategie, um Entwicklern das Arbeiten angenehmer zu gestalten, sondern führt zu klar bezifferbaren monetären Einsparungen für Unternehmen.
Voraussetzung ist allerdings, dass in der Organisation klare Regeln auf Basis der Clean-Code-Prinzipien definiert werden und das daraus erstellte Regelwerk unternehmenswert und konsequent von allen Entwicklern verwendet wird.
Ist das der Fall, verkürzt sich der Wartungsaufwand für bestehende Anwendungen, kann Code auch von neuen Entwicklern problemlos verstanden und können interne Ressourcen effizient eingesetzt werden.
Vorteile auf einen Blick:
- Hohe Codequalität
- Effiziente Wartbarkeit
- Mehr Zeit für Neu-Entwicklungen
- Höhere Mitarbeiterzufriedenheit
- Kostenersparnis
Um die Vorteile von Clean ABAP in der Entwicklung nachhaltig spürbar zu machen, sollten Unternehmen zu Beginn regelmäßig Zeit für Refaktorisierung einplanen – damit nicht nur neuer Code, sondern vor allem der bestehende Code den neuen Standards angepasst werden kann.
Einführung
Umfangreiche Schulungen sind in der Regel nicht erforderlich, um Clean ABAP zum Arbeitsstandard zu machen. Es genügt, wenn sich ein Mitarbeiter oder eine Steuerungsgruppe in die Materie einarbeitet, ein Regelwerk entwickelt und dieses den internen Entwicklern als Leitlinie für ihre Arbeit zur Verfügung stellt.
Da die Prinzipien einfach verständlich sind, sollte jeder Entwickler in der Lage sein, sie ohne Weiteres umzusetzen. Zunächst ist mit einer geringfügigen Beeinträchtigung der Arbeitsgeschwindigkeit zu rechnen, doch schnell werden die neuen Konventionen in den Workflow der einzelnen Entwickler übergehen, sodass sich die investierte Zeit auszahlt. Wer Unterstützung bei der Entwicklung eines Regelwerks bzw. der Einführung von Clean ABAP benötigt, kann sich an das Team von Erlebe Software wenden.
Fazit
Seit der Veröffentlichung der Clean-Code-Prinzipien wächst das Interesse von Unternehmen und ihre Verbreitung in Organisationen kontinuierlich. Das ist wenig überraschend, da Clean Code eine Lösung für ein immer drängenderes Problem bietet: Riesige Mengen Quellcode handhabbar zu machen.
Die Menge an produziertem Code ist in den vergangenen Jahren exponentiell gestiegen und wird auch in Zukunft weiter zunehmen. Dabei hat die gesellschaftliche und wirtschaftliche Bedeutung von Software zugenommen. Die Konsequenzen von fehlerhafter Software sind aufgrund der Einsatzzwecke heute gravierender als noch vor dreißig Jahren.
Vor diesem Hintergrund ist es eine Notwendigkeit, Strategien anzuwenden, um Code effizient und personenunabhängig zu warten und Fehler schnell zu lösen.
Websession: Clean ABAP
Sollten Sie Fragen zu uns und unserer Arbeit oder konkret zu Umstellungsprojekten haben, dann vereinbaren Sie eine kostenlose Websession mit uns.
FAQ
Was ist Clean ABAP?
Clean ABAP ist die Anwendung der Clean-Code-Prinzipien in der ABAP-Entwicklung. Unternehmen orientieren sich dabei am Standardwerk „Clean Code“ von Robert C. Martin und passen die verschiedenen Richtlinien so an, dass sie ihrer Unternehmenssituation bestmöglich gerecht werden.
2 Kommentare zu "Clean ABAP"
So viel Text dazu und nicht einmal die (wirklich lesenswerte) Sammlung verlinkt: https://github.com/SAP/styleguides/blob/master/clean-abap/CleanABAP.md
Tatsächlich, vor lauter Bäumen den Wald nicht ausgeschildert. Danke für die Ergänzung!