feed icon rss

Your email was sent successfully. Check your inbox.

An error occurred while sending the email. Please try again.

Proceed reservation?

Export
  • 1
    UID:
    kobvindex_ZLB34830443
    Format: 398 Seiten , 24 cm
    Edition: 1. Auflage
    ISBN: 9783836286596
    Series Statement: SAP Press
    Content: 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.
    Note: Deutsch
    Language: German
    Subjects: Computer Science
    RVK:
    Library Location Call Number Volume/Issue/Year Availability
    BibTip Others were also interested in ...
  • 2
    UID:
    kobvindex_ZLB34542741
    Format: 351 Seiten , 22,9 cm
    Edition: 1. Auflage
    ISBN: 9781493220267
    Series Statement: SAP Press
    Content: ABAP developers, are you looking to clean up your code? Then pick up this official companion to the Clean ABAP GitHub repository. This book is brimming with best practices, straight from the experts, to help you write effective ABAP code. Start by learning when to apply each clean ABAP practice. Then, dive into detailed code examples and explanations for using classes, methods, names, variables, internal tables, and more. From writing code to troubleshooting and testing, this is your complete style guide! In this book, you'll learn about: a. Clean ABAP Concepts What is clean ABAP and why is it important to write clean code? Understand clean ABAP concepts with insight from the experts, including special considerations for legacy code and performance. b. Best Practices Walk through the what, why, and how behind clean ABAP best practices. Learn to improve your code, including using classes and interfaces appropriately, handling method design and control flow, designing and running unit tests, and much more. c. Practical Examples See clean ABAP practices in action! Improve your understanding of how to write effective code. Use detailed examples for each best practice that demonstrate the difference between clean and messy code. Highlights include: 1) Classes and interfaces 2) Methods 3) Names 4) Variables and literals 5) Internal tables 6) Control flow 7) Comments 8) Formatting 9) Error handling 10) Unit testing 11) Packages.
    Note: Englisch
    Language: English
    Library Location Call Number Volume/Issue/Year Availability
    BibTip Others were also interested in ...
  • 3
    UID:
    kobvindex_ERBEBC6877340
    Format: 1 online resource (399 pages)
    Edition: 1
    ISBN: 9783836286619
    Note: Intro -- Einleitung -- 1 Einführung -- 1.1 Was ist Clean ABAP? -- 1.1.1 Was ist Lesbarkeit? -- 1.1.2 Was ist die Geschichte hinter Clean ABAP? -- 1.2 Wie kann ich mit Clean ABAP anfangen? -- 1.3 Wie gehe ich mit Legacy-Code um? -- 1.4 Wie kann ich Code automatisch prüfen? -- 1.5 Wie steht Clean ABAP im Verhältnis zu anderen Programmierleitfäden? -- 1.6 Wie kann ich mich in der Clean-ABAP-Community engagieren? -- 1.7 Zusammenfassung -- 2 Die Programmiersprache ABAP -- 2.1 Legacy-Code -- 2.2 Performance -- 2.2.1 Clean Code vs. Performance -- 2.2.2 Sauber starten und nur in zwingenden Fällen abweichen -- 2.2.3 Messen, statt nur vermuten -- 2.3 Objektorientierte vs. prozedurale Programmierung -- 2.3.1 Das Programmierparadigma von ABAP -- 2.3.2 Der Unterschied zwischen Funktionsgruppen und Klassen -- 2.3.3 Besonderheiten der ABAP-Objektorientierung -- 2.3.4 Wenn Sie keine Wahl haben -- 2.4 Funktionale vs. prozedurale Sprachkonstrukte -- 2.5 Obsolete Sprachelemente -- 2.6 Entwurfsmuster -- 2.6.1 Zu viele Singletons -- 2.6.2 Zu viele Muster gemischt -- 2.7 Zusammenfassung -- 3 Klassen und Interfaces -- 3.1 Objektorientierung -- 3.1.1 Interfaces -- 3.1.2 Klassen und Objekte -- 3.1.3 Zustand -- 3.2 Geltungsbereich und Sichtbarkeit -- 3.2.1 Globaler und lokaler Geltungsbereich -- 3.2.2 Sichtbarkeit -- 3.3 Konstruktoren -- 3.3.1 Geltungsbereich und Sichtbarkeit -- 3.3.2 Dependency Injection -- 3.3.3 Statische Erzeugungsmethoden -- 3.3.4 Erzeugungsmuster -- 3.3.5 Instanziierung -- 3.4 Zusammenfassung -- 4 Methoden -- 4.1 Objektorientierte Programmierung -- 4.1.1 Statische Methoden und Instanzmethoden -- 4.1.2 Öffentliche Instanzmethoden -- 4.1.3 Redefinition einer Methode -- 4.2 Parameter -- 4.2.1 Wie viele Parameter sind zu viele? -- 4.2.2 Optionale Eingabeparameter -- 4.2.3 Bevorzugte Eingabeparameter -- 4.2.4 Boolesche Eingabeparameter , 4.2.5 EXPORTING-Parameter -- 4.2.6 RETURNING-Parameter -- 4.2.7 CHANGING-Parameter -- 4.2.8 Übergabe per Wert und Übergabe per Referenz -- 4.3 Methodeninhalt -- 4.3.1 Eine Sache tun -- 4.3.2 Eine Abstraktionsstufe absteigen -- 4.3.3 Methoden klein halten -- 4.3.4 Früh scheitern -- 4.3.5 CHECK oder RETURN -- 4.4 Methoden aufrufen -- 4.4.1 Eingabeparameter übergeben -- 4.4.2 Ausgabeparameter empfangen -- 4.4.3 Das Konstrukt CALL METHOD -- 4.4.4 Optionale Parameternamen -- 4.4.5 Selbstreferenzen -- 4.5 Zusammenfassung -- 5 Namen -- 5.1 Gute Namen -- 5.1.1 Aussagekräftige Namen -- 5.1.2 Domänenbegriffe -- 5.1.3 Plural oder Singular? -- 5.1.4 Abkürzungen -- 5.1.5 Klassen und Methoden benennen -- 5.1.6 Rauschwörter -- 5.1.7 Konsistente Begriffe -- 5.1.8 Entwurfsmuster im Code -- 5.1.9 Ungarische Notation und andere Präfixe -- 5.2 Eigenheiten von ABAP -- 5.2.1 Objektgruppen mit Namenskollisionen -- 5.2.2 Snake Case oder Camel Case? -- 5.3 Affixe: Präfixe, Suffixe und Infixe -- 5.3.1 Notwendige Affixe -- 5.3.2 Nützliche Affixe -- 5.3.3 Unnütze Affixe -- 5.4 Mit Legacy-Code umgehen -- 5.5 Zusammenfassung -- 6 Variablen und Literale -- 6.1 Variablen -- 6.1.1 Variablen deklarieren -- 6.1.2 Kontrollfluss und Gültigkeitsbereich -- 6.1.3 Verkettete Deklarationen -- 6.1.4 Schleifenvariablen -- 6.2 Konstanten -- 6.2.1 Konstanten richtig nutzen -- 6.2.2 Aufzählungsklassen -- 6.2.3 Konstanten gruppieren -- 6.3 Zeichenketten -- 6.3.1 String-Literale -- 6.3.2 Strings zusammenbauen -- 6.4 Boolesche Ausdrücke -- 6.4.1 Wann benutze ich Boolesche Ausdrücke? -- 6.4.2 Boolesche Funktion XSDBOOL für Inline-Deklarationen -- 6.5 Reguläre Ausdrücke -- 6.5.1 Einfache reguläre Ausdrücke -- 6.5.2 Grundlegende Prüfungen -- 6.5.3 Komplexe reguläre Ausdrücke -- 6.6 Das Schlüsselwort REDUCE -- 6.7 Zusammenfassung -- 7 Interne Tabellen -- 7.1 Die richtige Tabellenart verwenden , 7.1.1 Standardtabellen -- 7.1.2 Sortierte Tabellen -- 7.1.3 Hash-Tabellen -- 7.2 DEFAULT KEY vermeiden -- 7.3 Zeilen hinzufügen mit INSERT INTO TABLE und APPEND TO -- 7.3.1 Die Anweisung APPEND -- 7.3.2 Die Anweisung INSERT -- 7.4 Prüfen, ob eine Tabelle eine bestimmte Zeile enthält -- 7.4.1 Die Anweisung READ TABLE -- 7.4.2 Die Anweisung LOOP AT -- 7.4.3 Die Anweisung LINE_EXISTS -- 7.5 Tabelleninhalte abfragen -- 7.5.1 Die Anweisung LOOP AT -- 7.5.2 Die Anweisung READ TABLE -- 7.6 Die Anweisung LOOP AT ... WHERE ... und verschachtelte IF-Anweisungen -- 7.6.1 Verschachteltes IF -- 7.6.2 Die Anweisung LOOP AT ... WHERE ... -- 7.7 Unnötige Tabellenabfragen identifizieren -- 7.8 Tabellenzeilen blockweise und Zeile für Zeile bearbeiten -- 7.9 DESCRIBE TABLE und die Funktion LINES -- 7.9.1 Die Anweisung DESCRIBE TABLE -- 7.9.2 Die Anweisung LINES -- 7.10 Zusammenfassung -- 8 Kontrollfluss -- 8.1 Das Schlüsselwort IF -- 8.1.1 IF-Ausführungspfade -- 8.1.2 IF-Anweisungen kritisch hinterfragen -- 8.2 Schachtelungstiefe -- 8.3 Bedingungen -- 8.3.1 Bedingungen positiv formulieren -- 8.3.2 IS NOT oder NOT IS -- 8.3.3 Komplexe Bedingungen -- 8.4 Das Schlüsselwort CASE -- 8.4.1 CASE oder IF -- 8.4.2 CASE oder SWITCH -- 8.4.3 Wiederholte CASE- oder SWITCH-Anweisungen -- 8.5 Die Anweisung DO 1 TIMES -- 8.5.1 Pseudoschleifen für den Kontrollfluss -- 8.5.2 Refactoring -- 8.6 Zusammenfassung -- 9 Kommentare -- 9.1 Präziser Code benötigt keine Kommentare -- 9.2 Kommentare richtig platzieren und verwenden -- 9.3 Kommentare, die Sie vermeiden sollten -- 9.4 FIXME-, TODO- und XXX-Kommentare -- 9.5 Spezielle Kommentare: ABAP Doc, Pragmas und Pseudokommentare -- 9.6 Zusammenfassung -- 10 Formatierung -- 10.1 Einen konsistenten Stil verfolgen -- 10.2 Den Code fürs Lesen optimieren -- 10.3 Der Pretty Printer -- 10.4 Wie viele Anweisungen pro Zeile? -- 10.5 Zeilenlänge , 10.6 Code straffen -- 10.7 Leerzeilen -- 10.8 Zuweisungen ausrichten -- 10.9 Variablendeklarationen ausrichten -- 10.10 Wohin mit den Klammern? -- 10.11 Methodenparameter formatieren -- 10.11.1 Aufrufe mit einem Parameter -- 10.11.2 Zeilenumbrüche bei mehreren Parametern -- 10.11.3 Position der Parameter -- 10.11.4 Parameter einrücken -- 10.11.5 Vertikale Ausrichtung von Parameterwerten -- 10.11.6 Umbrüche und Einrückungen in Methodenaufrufen -- 10.11.7 Inline-Deklarationen einrücken -- 10.12 Zusammenfassung -- 11 Fehlerbehandlung -- 11.1 Nachrichten -- 11.2 Rückgabewerte -- 11.2.1 Ausnahmen oder Rückgabewerte -- 11.2.2 Umgang mit Fehlern -- 11.3 Ausnahmen -- 11.3.1 Ausnahmen für Fehlerfälle -- 11.3.2 Klassenbasierte Ausnahmen -- 11.3.3 Ausnahmen auf Basis der Klasse CX_STATIC_CHECK -- 11.3.4 Ausnahmen auf Basis der Klasse CX_NO_CHECK -- 11.3.5 Ausnahmen auf Basis der Klasse CX_DYNAMIC_EXCEPTION -- 11.4 Ausnahmen auslösen und behandeln -- 11.4.1 Ausnahmen-Oberklassen auswählen -- 11.4.2 Ausnahmen auslösen -- 11.4.3 Ausnahmen behandeln -- 11.4.4 Wann sollte ein Dump ausgelöst werden? -- 11.5 Zusammenfassung -- 12 Unit Tests -- 12.1 Testklassen -- 12.1.1 Eigenschaften von Testklassen -- 12.1.2 Gültigkeitsbereich von Testklassen -- 12.1.3 Testhelferklassen -- 12.1.4 Tests ausführen -- 12.2 Testmethoden -- 12.2.1 Methoden für den Testaufbau -- 12.2.2 Der Given-When-Then-Stil -- 12.3 Die getestete Klasse -- 12.4 Namen von Testklassen und -methoden -- 12.5 Assertions -- 12.5.1 Effiziente Assertions schreiben -- 12.5.2 Erwartete Ausnahmen prüfen -- 12.5.3 Unerwartete statische Ausnahmen -- 12.5.4 Eigene Assertions -- 12.5.5 Constraints -- 12.6 Test-Doubles -- 12.6.1 Dependency Inversion und Test-Doubles -- 12.6.2 ABAP Test Double Framework -- 12.6.3 Weitere Testwerkzeuge -- 12.7 Test-Seams -- 12.8 Konzepte zum Umgang mit Unit Tests , 12.8.1 Testgetriebene Entwicklung -- 12.8.2 Eigenschaften sauberer Tests -- 12.8.3 Testabdeckung -- 12.9 Zusammenfassung -- 13 Pakete -- 13.1 Allgemeine Paketkonzepte -- 13.1.1 Anwendungsfälle -- 13.1.2 Wiederverwendungsebenen -- 13.1.3 Kohäsion -- 13.2 Paketkonzept in ABAP -- 13.2.1 Pakettypen -- 13.2.2 Gekapselte Pakete -- 13.2.3 Paketschnittstellen -- 13.2.4 Best Practices -- 13.3 Optionen für das Paketdesign -- 13.3.1 Anwendungsbasierte Hierarchie -- 13.3.2 Schichtenbasierte Hierarchie -- 13.3.3 Aufteilung der Hierarchien nach Übersetzungsrelevanz -- 13.4 Paketprüfungen -- 13.4.1 Was sind Paketprüfungen? -- 13.4.2 Manuelle Durchführung von Paketprüfungen -- 13.4.3 Automatisierte Ausführung von Paketprüfungen -- 13.4.4 Behebung von Paketprüfungsfehlern -- 13.4.5 Best Practices -- 13.5 Konsequenzen einer mangelhaften oder fehlenden Paketstrategie -- 13.6 Zusammenfassung -- 14 Wie Sie Clean ABAP umsetzen -- 14.1 Gemeinsames Verständnis der Teammitglieder -- 14.1.1 Kollektive Code Ownership -- 14.1.2 Clean Code Developer Initiative -- 14.2 Den Broken-Window-Effekt angehen -- 14.2.1 Statische Code-Prüfung -- 14.2.2 Metriken -- 14.2.3 Code-Abdeckung -- 14.3 Code-Reviews und Lernen -- 14.3.1 Code-Review-Präfix -- 14.3.2 Styleguide -- 14.3.3 Sichtbar machen -- 14.3.4 Feedback-Kultur -- 14.4 Clean Code Advisor -- 14.5 Lerntechniken -- 14.5.1 Kata -- 14.5.2 Dojo -- 14.5.3 Code-Retreat -- 14.5.4 Fellowship -- 14.5.5 Pair Programming -- 14.5.6 Mob Programming -- 14.5.7 Gewohnheiten -- 14.6 Continuous Learning in funktionsübergreifenden Teams -- 14.6.1 Profil eines Teammitglieds -- 14.6.2 Funktionsübergreifende Teams -- 14.6.3 Multiplikatoren im Team -- 14.6.4 Community of Practice -- 14.7 Zusammenfassung -- Das Autorenteam -- Index
    Additional Edition: Print version: Haeuptle, Klaus Clean ABAP Bonn : Rheinwerk Verlag,c2022 ISBN 9783836286596
    Keywords: Electronic books.
    Library Location Call Number Volume/Issue/Year Availability
    BibTip Others were also interested in ...
Close ⊗
This website uses cookies and the analysis tool Matomo. Further information can be found on the KOBV privacy pages