Clean ABAP

Clean ABAP

Einband:
Fester Einband
EAN:
9783836286596
Untertitel:
Das offizielle Begleitbuch zum Git-Repository Clean-Code-Prinzipien für die ABAP-Programmierung
Genre:
Programmiersprachen
Autor:
Klaus Haeuptle, Florian Hoffmann, Rodrigo Jordão, Michel Martin, Anagha Ravinarayan, Kai Westerholz
Herausgeber:
Rheinwerk Verlag GmbH
Auflage:
1. Auflage
Anzahl Seiten:
398
Erscheinungsdatum:
03.02.2022
ISBN:
978-3-8362-8659-6

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

Autorentext
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.

Inhalt


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



billigbuch.ch sucht jetzt für Sie die besten Angebote ...

Loading...

Die aktuellen Verkaufspreise von 6 Onlineshops werden in Realtime abgefragt.

Sie können das gewünschte Produkt anschliessend direkt beim Anbieter Ihrer Wahl bestellen.


Feedback