E-Book, Deutsch, 398 Seiten
Reihe: SAP Press
Haeuptle / Hoffmann / Jordão Clean ABAP
1. Auflage 2022
ISBN: 978-3-8362-8661-9
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Lesbarer und wartbarer ABAP-Code
E-Book, Deutsch, 398 Seiten
Reihe: SAP Press
ISBN: 978-3-8362-8661-9
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Ihr Leitfaden zur besseren ABAP-Programmierung!
Schluss mit unleserlichen ABAP-Programmen! Dieses offizielle Begleitbuch zum Repository »Clean ABAP« auf GitHub zeigt Ihnen, wie Sie intuitiv verständlichen und leicht zu wartenden Code schreiben. Gespickt mit Best Practices zu Namenskonventionen, Kommentaren und Formatierungen, ist dieser Leitfaden unverzichtbar für den Programmieralltag und dient als offizielle Programmierrichtlinie für SAP S/4HANA. Für das Autorenteam waren insbesondere die Bücher »Clean Code« von Robert C. Martin und »Code Complete« von Steve McConnell eine Inspiration für ihr eigenes Werk.
- Clean Code für ABAP-Programme
- Praktische Beispiele für Klassen, Methoden, Interfaces, Tabellen und Variablen
- Namenskonventionen, Formatierung, Kommentare u. v. m.
Aus dem Inhalt:
- Klassen und Interfaces
- Methoden
- Namen von Objekten
- Variablen und Literale
- Interne Tabellen
- Kontrollfluss
- Kommentare
- Formatierung
- Fehlerbehandlung
- Unit-Tests
- Pakete
- Clean ABAP im Team umsetzen
Klaus Häuptle ist Entwickler, Trainer und Product Owner im Bereich Anwendungsentwicklung. Für SAP hat er an der Entstehung verschiedener Produkte mitgewirkt, die auf unterschiedlichen Technologien basierten. Er unterstützt die SAP-Community dabei, Wissen zu teilen und Methoden und Arbeitsmittel zu verbessern. Unter anderem beeinflusste er die Verbesserung der Testmöglichkeiten für ABAP, SAP HANA und SAPUI5. Zusammen mit Florian Hoffmann entwickelte er einen zunächst internen Clean-ABAP-Leitfaden, der später als Open-Source-Projekt veröffentlicht wurde und als Grundlage dieses Buches dient.
Autoren/Hrsg.
Weitere Infos & Material
Einleitung ... 17
1. Einführung ... 23
1.1 ... Was ist Clean ABAP? ... 23
1.2 ... Wie kann ich mit Clean ABAP anfangen? ... 26
1.3 ... Wie gehe ich mit Legacy-Code um? ... 28
1.4 ... Wie kann ich Code automatisch prüfen? ... 30
1.5 ... Wie steht Clean ABAP im Verhältnis zu anderen Programmierleitfäden? ... 32
1.6 ... Wie kann ich mich in der Clean-ABAP-Community engagieren? ... 33
1.7 ... Zusammenfassung ... 34
2. Die Programmiersprache ABAP ... 35
2.1 ... Legacy-Code ... 35
2.2 ... Performance ... 38
2.3 ... Objektorientierte vs. prozedurale Programmierung ... 41
2.4 ... Funktionale vs. prozedurale Sprachkonstrukte ... 49
2.5 ... Obsolete Sprachelemente ... 52
2.6 ... Entwurfsmuster ... 54
2.7 ... Zusammenfassung ... 56
3. Klassen und Interfaces ... 59
3.1 ... Objektorientierung ... 59
3.2 ... Geltungsbereich und Sichtbarkeit ... 90
3.3 ... Konstruktoren ... 99
3.4 ... Zusammenfassung ... 111
4. Methoden ... 113
4.1 ... Objektorientierte Programmierung ... 113
4.2 ... Parameter ... 121
4.3 ... Methodeninhalt ... 137
4.4 ... Methoden aufrufen ... 148
4.5 ... Zusammenfassung ... 153
5. Namen ... 155
5.1 ... Gute Namen ... 155
5.2 ... Eigenheiten von ABAP ... 162
5.3 ... Affixe: Präfixe, Suffixe und Infixe ... 163
5.4 ... Mit Legacy-Code umgehen ... 166
5.5 ... Zusammenfassung ... 167
6. Variablen und Literale ... 169
6.1 ... Variablen ... 170
6.2 ... Konstanten ... 177
6.3 ... Zeichenketten ... 186
6.4 ... Boolesche Ausdrücke ... 188
6.5 ... Reguläre Ausdrücke ... 191
6.6 ... Das Schlüsselwort REDUCE ... 193
6.7 ... Zusammenfassung ... 196
7. Interne Tabellen ... 197
7.1 ... Die richtige Tabellenart verwenden ... 198
7.2 ... DEFAULT KEY vermeiden ... 200
7.3 ... Zeilen hinzufügen mit INSERT INTO TABLE und APPEND TO ... 201
7.4 ... Prüfen, ob eine Tabelle eine bestimmte Zeile enthält ... 202
7.5 ... Tabelleninhalte abfragen ... 204
7.6 ... Die Anweisung LOOP AT ... WHERE ... und verschachtelte IF-Anweisungen ... 206
7.7 ... Unnötige Tabellenabfragen identifizieren ... 207
7.8 ... Tabellenzeilen blockweise und Zeile für Zeile bearbeiten ... 208
7.9 ... DESCRIBE TABLE und die Funktion LINES ... 209
7.10 ... Zusammenfassung ... 210
8. Kontrollfluss ... 211
8.1 ... Das Schlüsselwort IF ... 212
8.2 ... Schachtelungstiefe ... 217
8.3 ... Bedingungen ... 218
8.4 ... Das Schlüsselwort CASE ... 225
8.5 ... Die Anweisung DO 1 TIMES ... 229
8.6 ... Zusammenfassung ... 233
9. Kommentare ... 235
9.1 ... Präziser Code benötigt keine Kommentare ... 235
9.2 ... Kommentare richtig platzieren und verwenden ... 238
9.3 ... Kommentare, die Sie vermeiden sollten ... 239
9.4 ... FIXME-, TODO- und XXX-Kommentare ... 242
9.5 ... Spezielle Kommentare: ABAP Doc, Pragmas und Pseudokommentare ... 244
9.6 ... Zusammenfassung ... 245
10. Formatierung ... 247
10.1 ... Einen konsistenten Stil verfolgen ... 248
10.2 ... Den Code fürs Lesen optimieren ... 249
10.3 ... Der Pretty Printer ... 250
10.4 ... Wie viele Anweisungen pro Zeile? ... 252
10.5 ... Zeilenlänge ... 252
10.6 ... Code straffen ... 254
10.7 ... Leerzeilen ... 255
10.8 ... Zuweisungen ausrichten ... 256
10.9 ... Variablendeklarationen ausrichten ... 257
10.10 ... Wohin mit den Klammern? ... 257
10.11 ... Methodenparameter formatieren ... 258
10.12 ... Zusammenfassung ... 263
11. Fehlerbehandlung ... 265
11.1 ... Nachrichten ... 265
11.2 ... Rückgabewerte ... 269
11.3 ... Ausnahmen ... 274
11.4 ... Ausnahmen auslösen und behandeln ... 284
11.5 ... Zusammenfassung ... 291
12. Unit Tests ... 293
12.1 ... Testklassen ... 294
12.2 ... Testmethoden ... 304
12.3 ... Die getestete Klasse ... 309
12.4 ... Namen von Testklassen und -methoden ... 310
12.5 ... Assertions ... 313
12.6 ... Test-Doubles ... 325
12.7 ... Test-Seams ... 337
12.8 ... Konzepte zum Umgang mit Unit Tests ... 339
12.9 ... Zusammenfassung ... 343
13. Pakete ... 345
13.1 ... Allgemeine Paketkonzepte ... 345
13.2 ... Paketkonzept in ABAP ... 347
13.3 ... Optionen für das Paketdesign ... 353
13.4 ... Paketprüfungen ... 358
13.5 ... Konsequenzen einer mangelhaften oder fehlenden Paketstrategie ... 367
13.6 ... Zusammenfassung ... 368
14. Wie Sie Clean ABAP umsetzen ... 369
14.1 ... Gemeinsames Verständnis der Teammitglieder ... 370
14.2 ... Den Broken-Window-Effekt angehen ... 374
14.3 ... Code-Reviews und Lernen ... 378
14.4 ... Clean Code Advisor ... 382
14.5 ... Lerntechniken ... 382
14.6 ... Continuous Learning in funktionsübergreifenden Teams ... 387
14.7 ... Zusammenfassung ... 390
Das Autorenteam ... 391
Index ... 393
Einleitung
Clean Code ist seit vielen Jahren fester Bestandteil der agilen Softwareentwicklung. Code wird häufiger gelesen als geschrieben, daher ist es essenziell, dass Code leicht verständlich ist und seine Ziele klar erkennbar sind. Mit seinem Fokus auf Lesbarkeit und Verständlichkeit trägt Clean Code wesentlich zur Wartbarkeit und Testbarkeit von Programm-Code bei.
Dieses Buch ist eine Sammlung von Regeln, Richtlinien und Empfehlungen, die Ihren ABAP-Code »sauber« machen: lesbar, verständlich, wartbar und testbar. Es bespricht Entwurfsmuster und Sprachmuster ebenso wie generelle Abwägungen beim Softwaredesign. Auch Prozesse und organisatorische Feinheiten bei der Umsetzung von Clean Code in einem Unternehmen werden wir im Laufe des Buches besprechen.
An wen sich dieses Buch richtet
Dieses Buch haben wir vorrangig für ABAP-Entwicklerinnen und -Entwickler sowie Testerinnen und Tester mit einem Hang zur Entwicklung geschrieben. Sie finden hier viele verschiedene Code-Beispiele mit technischen Details.
Clean ABAP ist für Neulinge und erfahrene Programmiererinnen und Programmierer gleichermaßen geeignet. Je nach Kenntnisstand werden Sie möglicherweise von unterschiedlichen Themen profitieren oder sich mit bestimmten Bereichen näher auseinandersetzen wollen. Die meisten Ideen und Empfehlungen setzen jedoch keine großen Vorkenntnisse voraus, und Sie werden sie von der ersten Zeile Code an einsetzen können.
Wir ermutigen insbesondere auch Softwarearchitektinnen und -architekten, sich mit diesem Buch und Clean ABAP generell auseinanderzusetzen. Einige Themen in diesem Buch beschäftigen sich direkt mit Fragen, die typischerweise in den Aufgabenbereich der Architektinnen und Architekten fallen, z. B. Pakete und Objektorientierung. Selbst wenn Sie selbst nicht (mehr) programmieren, sollten Sie auch über die anderen Bereiche zumindest grundlegend Bescheid wissen, um sich mit Ihrem Team darüber austauschen zu können.
Wir haben in dieses Buch gezielt Kapitel aufgenommen, die Ihnen helfen sollen, mit Clean ABAP anzufangen, egal wann, egal in was für einer Art von Projekt und egal in welcher Art von Team Sie mit ABAP zu tun haben.
Wie dieses Buch aufgebaut ist
Dieses Buch beginnt mit einer Einführung in Clean ABAP und einer generellen Betrachtung der ABAP-Programmiersprache in Kapitel 1, »Einführung«, und Kapitel 2, »Die Programmiersprache ABAP«. In Kapitel 3, »Klassen und Interfaces«, und Kapitel 4, »Methoden«, besprechen wir Methoden, mit denen Sie größere Entwicklungsteile wie Klassen, Interfaces und Methoden sauber strukturieren können. Kapitel 5, »Namen«, beschäftigt sich mit dem zentralen Thema der Namensgebung. Kapitel 6 bis Kapitel 11 gehen auf Detailbereiche ein, von Variablen über Literale bis zur Fehlerbehandlung. Unit Tests in ABAP werden im gleichnamigen Kapitel 12 genauer untersucht, gefolgt von Kapitel 13, »Pakete«. Kapitel 14, »Wie Sie Clean ABAP umsetzen«, beschäftigt sich schließlich eingehender damit, wie Sie Clean ABAP auf individueller, Team- oder Organisationsebene einführen können.
Die Kapitel 1 und 2 legen die Grundlage für die weiteren Erklärungen in diesem Buch, und Sie sollten sie daher nicht überspringen. Die Kapitel 3 und 4 gehören eng zueinander, da Klassen, Interfaces und Methoden natürlich ineinander übergehen. Die übrigen Kapitel sind unabhängiger, und Sie können sie problemlos in beliebiger Reihenfolge lesen oder auch als Referenz für später nutzen. Abschnitt 1.2, »Wie kann ich mit Clean ABAP anfangen?«, macht einen genaueren Vorschlag, welche Kapitel sich besonders für Anfängerinnen, Skeptiker oder Alleingelassene eignen. Das letzte Kapitel können Sie jederzeit heranziehen, wenn Sie Probleme mit der Umsetzung von Clean ABAP in Ihrem Arbeitskreis haben.
Hier eine genauere Inhaltsangabe der Kapitel:
-
Kapitel 1, »Einführung«
Dieses Kapitel führt in die Konzepte von Clean ABAP ein. Warum ist es wichtig, sauberen Code zu schreiben? Wie fange ich damit an? Sie erfahren auch, wie sich Clean ABAP zu anderen Leitfäden verhält und mit welchen Ressourcen Sie Ihr Verständnis von Clean ABAP vertiefen können. -
Kapitel 2, »Die Programmiersprache ABAP«
Dieses Kapitel betrachtet die Programmiersprache ABAP an sich und ihre grundlegenden Besonderheiten. Sie erfahren mehr darüber, wie Sie mit Legacy-Code und Performance umgehen können. Allgemeine Fragen zu den Themen Objektorientierung, Sprachelementen und Entwurfsmustern werden geklärt. -
Kapitel 3, »Klassen und Interfaces«
Dieses Kapitel beschreibt, wie sich Clean ABAP auf Klassen und Interfaces auswirkt. Wir erforschen, welche Teile der Objektorientierung Ihnen dabei helfen, ein sauberes Design zu erhalten, und welche Sie besser vermeiden sollten. -
Kapitel 4, »Methoden«
Dieses Kapitel untersucht Methoden. Wie können Sie sie übersichtlich definieren? Wie kurz müssen sie sein, um verständlich zu bleiben? Wie können Sie Komplexität durch sorgsamen Umgang mit Parametern reduzieren? -
Kapitel 5, »Namen«
Dieses Kapitel zeigt Ihnen, wie extrem sich gute Namen auf Lesbarkeit auswirken. Wir vergleichen gute mit schlechten Namen und geben Ihnen Ratschläge im Umgang mit Kürzeln und Abkürzungen. -
Kapitel 6, »Variablen und Literale«
Dieses Kapitel bespricht, wie Variablen und Konstanten mit minimalem Aufwand für Übersichtlichkeit sorgen. Wir zeigen Ihnen auch, wie Code leichter verständlich wird, wenn Sie komplexe Literale und Ausdrücke in einfachere Bestandteile zerlegen. -
Kapitel 7, »Interne Tabellen«
Dieses Kapitel wiederholt die Tabellenarten in ABAP und erklärt, welche wann geeignet sind. Anschließend vergleichen wir typische Muster, um mit Tabellen zu interagieren, und arbeiten heraus, welche Varianten davon besonders lesbar sind. -
Kapitel 8, »Kontrollfluss«
Dieses Kapitel betrachtet, wie Zweige und alternative Ausführungspfade die Komplexität von Code verschlechtern können und wie Sie dem durch sorgsamen Umgang mit Bedingungen und Fallunterscheidungen entgegenwirken können. -
Kapitel 9, »Kommentare«
Dieses Kapitel erforscht, wann sich Kommentare lohnen und wann nicht. Wir gehen darauf ein, wo Kommentare am besten stehen, wie ausführlich sie sein sollten und warum ihr Weglassen überraschend oft die beste Wahl ist. -
Kapitel 10, »Formatierung«
Dieses Kapitel zeigt auf, wie Formatierung die Lesbarkeit von Code verbessert. Neben generellen Erwägungen zu Konsistenz und Lesen-vor-Schreiben schlagen wir Ihnen einige einfache Regeln vor, wie Sie zu gut lesbarem Code kommen können. -
Kapitel 11, »Fehlerbehandlung«
Dieses Kapitel untersucht das Thema Fehlerbehandlung im Detail. Wir vergleichen Meldungen, Rückgabewerte und Ausnahmen, und vertiefen bei letzteren, wie Sie sie am besten aufbauen, auslösen und abfangen. -
Kapitel 12, »Unit Tests«
Dieses Kapitel geht detailliert auf die Prinzipien und Techniken automatischer Tests ein. Wir beschreiben das ABAP Unit Test Framework und weitere Werkzeuge, die bei der Implementierung helfen. Dazu kommen grundlegende Empfehlungen, wie Sie Tests übersichtlich gestalten und langfristig am Leben halten können. -
Kapitel 13, »Pakete«
Dieses Kapitel zeigt Ihnen, wie Sie ABAP-Code übersichtlich in Paketen organisieren können. Wir beschreiben die Grundlagen der Paketverwaltung und gehen näher auf Paketschnittstellen und -hierarchien ein. -
Kapitel 14, »Wie Sie Clean ABAP umsetzen«
Dieses...




