Clean ABAP Teil 2/3
Nachdem ich Ihnen im ersten Teil dieser Blogbeitragsreihe bereits gezeigt habe, was Clean ABAP ist und warum sich das Definieren von Prinzipien für sauberen Quellcode auch in Ihrem Unternehmen lohnt, möchte ich im zweiten Teil dieser Blogbeitragsreihe auf die ersten Prinzipien eingehen, die Sie beachten sollten, wenn Sie mit dem Gedanken spielen, Ihren Code ebenfalls an diesen Prinzipien zu orientieren.
Namensgebungen
Neben den festen Ausdrücken in einer Programmiersprache ist es in jedem Programm zwingend erforderlich Konstanten, Variablen, Funktionen und Methoden anzulegen. Beim Anlegen dieser Objekte steht dann zunächst immer die Wahl eines entsprechenden Namens. Clean ABAP gibt für die Namensgebung die folgenden Prinzipien vor.
Beschreibende Namen verwenden
Nutzen Sie bei der Erstellung ihrer Programme sprechende Namen für alle Entwicklungsobjekte. Aus dem vergebenen Namen sollte der Zweck hinter dem Objekt hervorgehen. Zwar ist eine Variable ‘a’ kurz und spart Zeichen, aber der Entwickler, der den Code nach drei Jahren noch verstehen soll, wird sich zunächst fragen, was diese Variable im Kontext des Programms macht. Statt ‘a’ sollte also lieber der Variablenname ‘amount_of_entries’ verwendet werden, auch wenn dieser länger ist. Eine sprechende Benamung sorgt allerdings langfristig gesehen für ein besseres Verständnis und sorgt dafür, dass Kommentare, die den Sinn hinter einer Variablen beschreiben überflüssig werden, da der Kontext durch den Namen ersichtlich ist.
Abkürzungen vermeiden
Innerhalb der Entwicklung sollten Abkürzungen prinzipiell vermieden werden. Denn aus der Abkürzung ‘cust’ ist nunmal auf den ersten Blick nicht ersichtlich, ob es sich bei dem Objekt um ein Objekt für “Customer” oder “Customizing” handelt. Wenn also die Sollten dennoch einmal Abkürzungen verwendet werden, dann sollte darauf geachtet werden, dass diese Abkürzung eine unternehmensweite Verwendung findet und für alle Beteiligten verständlich ist.
Nomen für Klassen und Verben für Methoden
Innerhalb der Prinzipien von Clean ABAP hat es sich durchgesetzt, dass Klassen durch Nomen und Methoden durch Verben bezeichnet werden. Durch diese einheitliche Regeln, ist es auch schon durch den Namen ersichtlich, um was es sich bei dem Entwicklungsobjekt handelt.
Unnötige Wörter vermeiden
Auch wenn sprechende Namen für die Lesbarkeit des Codes vorteilhaft sind, sollten unnötige Wörter bei der Namensgebung vermieden werden. In Clean ABAP werden diese unnötigen Wörter als “Noise-Words” bezeichnet. Gemeint ist damit, dass die Variable ‘account’ genauso sprechend und aussagekräftig ist, wie die Variable ‘account_data’. Also sollte beim Anlegen der Variable genau überlegt werden, ob der Zusatz “data” wirklich erforderlich ist, um den Kontext der Variablen klar zu machen.
Variablen
Für die Verwendung von Variablen gibt Clean ABAP den Anwendern die folgenden wichtigen Prizipien an die Hand.
Verwenden von Inline-Deklarationen
Das Ziel von Clean ABAP ist in erster Linie ein strukturierter und gut lesbarer Quellcode. Daher setzt Clean ABAP auch auf die Inline-Deklaration anstatt Variablen zu Beginn eines Programms über Data-Anweisungen zu definieren. Das kürzt zum einen den Code und sorgt dafür, dass die Definition der Variablen immer dort erfolgt, wo die Variable auch benötigt wird.
Tabellen
Auch für die Arbeit mit Tabellen gibt Clean ABAP einige Prinzipien vor, die es dem Anwender ermöglichen durch minimalen Aufwand wartbareren Code zu schreiben.
INSERT INTO TABLE anstatt APPEND TO
Die Nutzung von INSERT INTO TABLE bietet den Vorteil, dass diese Anweisungen mit allen möglichen Tabellen- und Schlüsseltypen funktioniert und es somit leichter macht die zugrunde liegenden Tabellentypen im Nachhinein zu ändern, wodurch das Refactoring vereinfacht wird.
LOOP AT WHERE anstatt eines geschachtelten IF
Um die Anweisung deutlich zu kürzen, ist die Empfehlung von Clean ABAP, dass statt einer in einem LOOP geschachtelten IF-Anweisung eine LOOP AT WHERE Anweisung verwendet wird. Dadurch wird ersichtlicher, was die eigentliche Intention der Anweisung ist und die Anzahl an Loops kann reduziert werden.
Bedingungen
Für die Nutzung von Ausdrücken und Bedingungen gibt Clean ABAP die folgenden Kernprinzipien vor.
IS NOT ist besser als NOT IS
Die Nutzung von IS NOT ist für das menschliche Gehirn einfach leichter zu verarbeiten, als wenn innerhalb des Codes ein NOT IS verwendet wird. Daher sollte die Nutzung der ersten Anweisung bevorzugt werden, weil dies somit auf die Lesbarkeit des vorhandenen Quellcodes einzahlt.
Keine leeren IF-Anweisungen
Innerhalb des bestehenden Quellcodes sollten sämtliche leere IF-Anweisungen – zum Beispiel für die potenzielle Fehlerbehandlung nach dem Aufruf eines Funktionsbausteins – entfernt werden, da die Anweisungen den Code nur umfangreicher machen und nicht zur eigentlichen Logik beitragen. Das stört bei der Wartung und Erweiterung den Lesefluss und verstößt somit gegen die grundlegenden Prinzipien von Clean ABAP.
Im dritten Teil dieser Reihe werde ich Ihnen weitere konkrete Prinzipien näher bringen. Sollten Sie zu diesem Beitrag Fragen oder Anmerkungen haben, dann freue ich mich über Ihren Kommentar.