Bertolozi / Buchholz / Haeuptle | Clean SAPUI5 | Buch | 978-3-367-10050-7 | www2.sack.de

Buch, Deutsch, 596 Seiten, Format (B × H): 175 mm x 242 mm, Gewicht: 1234 g

Reihe: SAP PRESS

Bertolozi / Buchholz / Haeuptle

Clean SAPUI5

Der Clean-Code-Guide für SAPUI5
1. Auflage 2024
ISBN: 978-3-367-10050-7
Verlag: Rheinwerk Verlag GmbH

Der Clean-Code-Guide für SAPUI5

Buch, Deutsch, 596 Seiten, Format (B × H): 175 mm x 242 mm, Gewicht: 1234 g

Reihe: SAP PRESS

ISBN: 978-3-367-10050-7
Verlag: Rheinwerk Verlag GmbH


Optimieren Sie Ihren SAPUI5-Code für bessere Lesbarkeit und Wartbarkeit! Entdecken Sie bewährte Methoden von Experten in diesem Buch, um JavaScript-Funktionen effektiv zu nutzen und Ihren SAPUI5-Code zu verbessern. Module, Klassen, Funktionen, Namen, Variablen, Literalen, Kommentaren, Code-Metriken: Übernehmen Sie Best Practices für Formatierung, Testen, Implementierung und vieles mehr!

Aus dem Inhalt:

- JavaScript

- Module und Klassen

- Funktionen

- Namensgebung

- Variablen und Literale

- Kontrollstruktur

- Fehlerbehandlung

- Formatierung

- Statische Code-Prüfung

- Testen

- Implementierung

Bertolozi / Buchholz / Haeuptle Clean SAPUI5 jetzt bestellen!

Weitere Infos & Material



  Einleitung ... 17
  1.  Einführung ... 25

       1.1 ... Was ist Clean SAPUI5? ... 26
       1.2 ... Erste Schritte mit Clean SAPUI5 ... 28
       1.3 ... Umgang mit Legacy-Code ... 30
       1.4 ... Code automatisch prüfen ... 32
       1.5 ... Wie hängt Clean SAPUI5 mit anderen Leitfäden zusammen? ... 32
       1.6 ... Zusammenfassung ... 34

  2.  JavaScript und SAPUI5 ... 35

       2.1 ... Funktionen von JavaScript ES6+ ... 36
       2.2 ... TypeScript ... 119
       2.3 ... Zusammenfassung ... 131

  3.  Projektstruktur ... 133

       3.1 ... Komponenten in SAPUI5 ... 133
       3.2 ... Wichtige Artefakte ... 136
       3.3 ... Freestyle-Anwendungen ... 145
       3.4 ... SAP Fiori Elements ... 147
       3.5 ... Bibliotheksprojekte ... 155
       3.6 ... Model-View-Controller-Assets ... 158
       3.7 ... Zusammenfassung ... 161

  4.  Module und Klassen ... 163

       4.1 ... Controller-Inflation ... 164
       4.2 ... Modullebenszyklus ... 199
       4.3 ... Wiederverwendbarkeit und Testbarkeit ... 208
       4.4 ... Servicemodule vs. Klassenmodule ... 219
       4.5 ... Zusammenfassung ... 226

  5.  Funktionen ... 229

       5.1 ... Funktionsdefinition ... 229
       5.2 ... Funktionsobjekt ... 231
       5.3 ... Instanzmethoden ... 233
       5.4 ... Event-Handler und Callbacks ... 236
       5.5 ... Ausführungskontext der Callback-Funktion ... 236
       5.6 ... Getter und Setter ... 238
       5.7 ... Anonyme Funktionen ... 241
       5.8 ... Funktionsparameter ... 243
       5.9 ... Promises ... 258
       5.10 ... Generatoren ... 265
       5.11 ... Funktionskörper ... 266
       5.12 ... Funktionen aufrufen ... 274
       5.13 ... Closures ... 277
       5.14 ... Zusammenfassung ... 278

  6.  Namensgebung ... 281

       6.1 ... Beschreibende Namen ... 282
       6.2 ... Domänenbegriffe ... 283
       6.3 ... Entwurfsmuster ... 285
       6.4 ... Konsistenz ... 285
       6.5 ... Namen kürzen ... 287
       6.6 ... Füllwörter ... 288
       6.7 ... Casing ... 289
       6.8 ... Klassen und Enums ... 291
       6.9 ... Funktionen und Methoden ... 292
       6.10 ... Variablen und Parameter ... 294
       6.11 ... Private Elemente ... 300
       6.12 ... Namensräume ... 302
       6.13 ... Control-IDs ... 304
       6.14 ... Ungarische Notation ... 305
       6.15 ... Alternative Regeln ... 307
       6.16 ... Zusammenfassung ... 309

  7.  Variablen und Literale ... 311

       7.1 ... Variablen ... 311
       7.2 ... Literale ... 316
       7.3 ... Zusammenfassung ... 335

  8.  Kontrollfluss ... 337

       8.1 ... Bedingungen ... 338
       8.2 ... Schleifen ... 342
       8.3 ... Bedingte Komplexität ... 345
       8.4 ... Zusammenfassung ... 353

  9.  Fehlerbehandlung ... 355

       9.1 ... »throw«- und »try/catch«-Anweisungen ... 355
       9.2 ... Fehlerobjekte verwenden ... 357
       9.3 ... Fehlerbehandlung über Meldungen ... 359
       9.4 ... Fehlerbehandlung mit Controls ... 361
       9.5 ... Best Practices für die Fehlerbehandlung ... 365
       9.6 ... Zusammenfassung ... 369

10.  Formatierung ... 371

       10.1 ... Motivation ... 371
       10.2 ... Vertikale und horizontale Formatierung ... 372
       10.3 ... Textbereich ein- oder ausrücken ... 382
       10.4 ... XML-Views ... 385
       10.5 ... Weitere Hinweise ... 391
       10.6 ... Formatierung für TypeScript in SAPUI5 ... 395
       10.7 ... Erstellen und Pflegen eines Codestil-Leitfadens ... 407
       10.8 ... Formatierungswerkzeuge ... 409
       10.9 ... Zusammenfassung ... 415

11.  Kommentare ... 417

       11.1 ... Drücken Sie Ihre Absicht im Code aus ... 418
       11.2 ... Das Gute: Kommentarplatzierung und -nutzung ... 419
       11.3 ... Das Schlechte: Zu vermeidende oder umzustrukturierende Kommentare ... 431
       11.4 ... Das Hässliche: Sonderkommentare ... 442
       11.5 ... Zusammenfassung ... 445

12.  Statische Codeprüfungen und Codemetriken ... 447

       12.1 ... Linting ... 449
       12.2 ... Codemetriken ... 469
       12.3 ... Zusammenfassung ... 491

13.  Testen ... 493

       13.1 ... Prinzipien ... 494
       13.2 ... Zu testender Code ... 508
       13.3 ... Injektion ... 510
       13.4 ... Testmethoden und Journeys ... 516
       13.5 ... Testdaten ... 519
       13.6 ... Assertions ... 523
       13.7 ... Zusammenfassung ... 529

14.  TypeScript und verwandte Technologien ... 531

       14.1 ... TypeScript ... 531
       14.2 ... UI5 Web Components ... 547
       14.3 ... Fundamental Library ... 556
       14.4 ... Zusammenfassung ... 560

15.  Wie Sie Clean SAPUI5 umsetzen ... 561

       15.1 ... Gemeinsames Verständnis der Teammitglieder ... 562
       15.2 ... Kollektive Code Ownership ... 562
       15.3 ... Clean Code Developer Initiative ... 564
       15.4 ... Den Broken-Window-Effekt angehen ... 566
       15.5 ... Code-Reviews und Lernen ... 570
       15.6 ... Clean Code Advisor ... 574
       15.7 ... Lerntechniken ... 574
       15.8 ... Continuous Learning in funktionsübergreifenden Teams ... 579
       15.9 ... Zusammenfassung ... 582

  Die Autoren ... 583
  Index ... 585


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.

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.

Lehmann, Christian
Christian Lehmann ist Entwicklungsarchitekt und arbeitet im Qualitätsbereich von SAP S/4HANA. In seinen 18 Jahren bei SAP hat er an der Konzeption, Implementierung und Testautomatisierung von SAP-basierten Produkten gearbeitet, darunter auch Anwendungen, die auf SAPUI5 basieren. Er trägt zur SAP-ASE-Community für ABAP- und SAPUI5-basierte Themen bei und hat Spaß daran, neue Ansätze für automatisierte Softwaretests kennenzulernen.

Vaithianathan, Narendran Natarajan
Narendran NV ist leitender Entwickler, Trainer und Sicherheitsexperte bei SAP. Derzeit ist er Teil eines Teams, das sich auf die Entwicklung von Advanced Available-to-Promise (ATP) konzentriert. Zuvor war er Teil des FXperience-Teams (Bangalore), das die Einführung von SAP Fiori in SAP S/4HANA beschleunigt. Narendran coacht Teams zu Themen wie agiler Softwareentwicklung, SAPUI5 und SAP Fiori Elements und seit kurzem auch zum ABAP RESTful Application Programming Model. Bevor er zu SAP kam, arbeitete er als Berater bei IBM und trug zur kundenspezifischen Entwicklung in den Bereichen Reise- und Spesenabrechnung sowie Finanzen bei.

Buchholz, Arnaud
Arnaud Buchholz ist Entwicklungsexperte bei SAP mit dem Schwerpunkt auf Design, Entwicklung und Verbesserung von SAPUI5-Anwendungen. Er verfügt über mehr als 20 Jahre Erfahrung in der Softwareentwicklung.

Bertolozi, Daniel
Daniel Bertolozi ist Softwareentwickler bei SAP mit mehr als fünf Jahren Erfahrung in der SAP-Fiori-Entwicklung. Er hat an mehreren Projekten gearbeitet, bei denen SAPUI5-Anwendungen (in JavaScript und TypeScript) mithilfe von Best Practices für die Code-Qualität implementiert wurden. Zudem engagiert er sich aktiv für die Verbreitung agiler Softwareentwicklungspraktiken im SAP-Umfeld. Daniels Ansatz zur Softwareentwicklung folgt dem Leitspruch von Robert C. Martin: „Der einzige Weg, schnell voranzukommen, ist, es gut zu machen.“ Qualität ist für ihn entscheidend, denn er weiß: Wenn die Qualität nachlässt, leidet letztendlich auch die Geschwindigkeit, und das gilt es, zu vermeiden.



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.