Haeuptle / Hoffmann / Jordão | Clean ABAP | E-Book | sack.de
E-Book

E-Book, Deutsch, 398 Seiten

Reihe: SAP Press

Haeuptle / Hoffmann / Jordão Clean ABAP

Lesbarer und wartbarer ABAP-Code
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



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.

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.
Haeuptle / Hoffmann / Jordão Clean ABAP jetzt bestellen!

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


Haeuptle, Klaus
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.

Hoffmann, Florian
Florian Hoffmann ist Softwarearchitekt für GRC-Anwendungen (Governance, Risk and Complicance) von SAP. Sein Ziel ist es, die agile Entwicklung voranzutreiben, und in diesem Zuge arbeitet er stets daran, das Schreiben von Code effizienter zu gestalten. Zusammen mit Klaus Häuptle initiierte er den Clean-ABAP-Leitfaden auf GitHub, der dieses Werk ergänzt.

Jordão, Rodrigo
Rodrigo Jordão arbeitet als Development Architect bei SAP. Aktuell ist er im Bereich Integrated Business Planning (IBP) mit Schwerpunkt auf dem SAP Supply Chain Control Tower tätig. Im Rahmen seiner Karriere bei SAP war er an der Entwicklung verschiedener SAP-Produkte beteiligt – von branchenspezifischen Lösungen wie SAP Intellectual Property Management bis hin zu grundlegenden Komponenten wie SD. Zuvor arbeitete als Webentwickler mit Perl and Java sowie als Berater mit Microsoft.

Westerholz, Kai
Kai Westerholz arbeitet bei SAP als Senior-Entwickler im Bereich des Quote-to-Cash-Prozesses. Sein Schwerpunkt liegt auf der Entwicklung von APIs wie der Sales Order Simulation API oder der Sales Order Bulk Processing API. Des Weiteren beschäftigt er sich damit, Machine Learning im Bereich des Verkaufsauftrags nutzbar zu machen, und führt Clean Code und testgetriebene Entwicklung in seinem Team ein. Zuvor arbeitete er als Berater für SAP Cloud for Customer. Hier war er auf die Integration von SAP- und Nicht-SAP-Systemen mit verschiedenen Technologien spezialisiert.

Ravinarayan, Anagha
Anagha Ravinarayan ist Entwicklerin bei SAP und arbeitet an der SAP S/4HANA Cloud sowie an On-Premise-Anwendungen in den Bereichen der Kapazitätsplanung und nachfragegesteuerten Lageraufstockung. Dabei verwendet sie Technologien wie ABAP, SAP HANA und SAPUI5. Sie begann ihre Karriere als Full-Stack-Entwicklerin im Bereich der Beschaffungsanwendungen für SAP S/4HANA. Sie begeistert sich nebenbei für die Webentwicklung unter Verwendung von TypeScript, Node.js, React.js, MySQL und MongoDB und ist starke Befürworterin von Open-Source-Software.

Martin, Michel
Michel Martin ist Development Architect bei SAP. Neben der Leitung von Projekten und Durchführung von Trainings war er unter anderem auch für das Coaching von Teams zu ASE, Lean-Management-Prinzipien und Scrum-Methodologien zuständig. Aufgrund seines technischen Hintergrunds ist er immer auf der Suche nach neuen Möglichkeiten, um die Leistungsfähigkeit von Entwicklungsteams und die Qualität ihrer Arbeit zu verbessern, seien es neue Technologien und Werkzeuge oder Methoden.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.