Testgetriebene Entwicklung lernen

Book description

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Dein Code ist ein Beweis für deine Fähigkeiten als Entwickler. Ganz gleich, welche Sprache du verwendest, dein Code sollte sauber, elegant und übersichtlich sein. Wenn du testgetriebene Entwicklung (TDD) anwendest, schreibst du Code, der leicht zu verstehen ist, seine Eleganz bewahrt und über Monate oder sogar Jahre hinweg funktioniert. In diesem unverzichtbaren Leitfaden lernst du, wie du TDD in drei verschiedenen Sprachen einsetzen kannst: Go, JavaScript und Python.

Der Autor Saleem Siddiqui zeigt dir, wie du die Komplexität einer Domäne mit einem Unit-Test-getriebenen Ansatz bewältigen kannst. TDD unterteilt Anforderungen in kleine, implementierbare Funktionen und ermöglicht es dir, Probleme zu lösen, unabhängig von den verwendeten Sprachen und Frameworks. Mit Learning Test-Driven Development lernst du, wie du TDD in deine reguläre Programmierpraxis einbauen kannst.

Dieses Buch hilft dir:

  • den TDD-Ansatz "Teilen und Beherrschen" zu nutzen, um die Komplexität der Domäne zu beherrschen
  • zu verstehen, wie TDD über Sprachen, Testframeworks und Domänenkonzepte hinweg funktioniert
  • Lernen, wie TDD kontinuierliche Integration ermöglicht
  • Refactoring und Redesign mit TDD unterstützen
  • Lerne, wie du ein einfaches und effektives Unit-Test-Harness in JavaScript schreibst
  • Einrichten einer kontinuierlichen Integrationsumgebung mit den Unit-Tests, die während TDD erstellt werden
  • Schreibe sauberen, übersichtlichen Code mit TDD in Go, JavaScript und Python

Table of contents

  1. Vorwort
  2. Vorwort
    1. Was ist testgetriebene Entwicklung?
      1. Eine Technik
      2. Code entwerfen und strukturieren
      3. Eine Neigung zur Einfachheit
      4. Gestärktes Selbstvertrauen
    2. Für wen ist dieses Buch?
    3. Was sind die Voraussetzungen, um dieses Buch zu lesen?
    4. Wie man dieses Buch liest
      1. Folge dem Buch, eine Sprache nach der anderen
      2. Befolge das Buch zuerst in zwei Sprachen und dann in der dritten Sprache
      3. Verfolge das Buch in allen drei Sprachen gleichzeitig
    5. In diesem Buch verwendete Konventionen
      1. Typografische Konventionen
      2. Lexikalische Konventionen
    6. Code-Beispiele verwenden
    7. Wie du uns kontaktierst
    8. TDD - Die Gründe
      1. Warum werden in diesem Buch Go, JavaScript und Python verwendet?
      2. Warum nicht diese andere Sprache?
      3. Warum hat dieses Buch ein "Kapitel 0"?
  3. Kapitel 0: Einführung und Einrichtung
    1. Einrichten deiner Entwicklungsumgebung
      1. Gemeinsame Einrichtung
      2. Geh
      3. JavaScript
      4. Python
    2. Wo wir sind
  4. I. Erste Schritte
  5. 1. Das Geldproblem
    1. Rot-Grün-Refactor: Die Bausteine von TDD
    2. Was ist das Problem?
    3. Unsere erste fehlgeschlagene Prüfung
      1. Geh
      2. JavaScript
      3. Python
    4. Auf Grün setzen
      1. Geh
      2. JavaScript
      3. Python
    5. Aufräumen
      1. Geh
      2. JavaScript
      3. Python
    6. Unsere Veränderungen festschreiben
    7. Wo wir sind
      1. Geh
      2. JavaScript
      3. Python
  6. 2. Geld mit mehreren Währungen
    1. Den Euro einführen
      1. Geh
      2. JavaScript
      3. Python
    2. Code DRY halten
      1. Geh
      2. JavaScript
      3. Python
    3. Hatten wir nicht gerade gesagt: "Wiederhole dich nicht"?!
    4. Teilen und Erobern
      1. Geh
      2. JavaScript
      3. Python
    5. Aufräumen
      1. Geh
      2. JavaScript
      3. Python
    6. Unsere Veränderungen festschreiben
    7. Wo wir sind
  7. 3. Portfolio
    1. Die Planung unseres nächsten Tests
      1. Geh
      2. JavaScript
      3. Python
    2. Unsere Veränderungen festschreiben
    3. Wo wir sind
  8. II. Modularisierung
  9. 4. Trennung der Belange
    1. Test- und Produktionscode
      1. Unidirektionale Abhängigkeit
      2. Dependency Injection
      3. Verpackung und Einsatz
    2. Modularisierung
    3. Redundanz beseitigen
    4. Wo wir sind
  10. 5. Pakete und Module in Go
    1. Unseren Code in Pakete aufteilen
    2. Go Module
    3. Ein Paket erstellen
    4. Verkapselung
    5. Redundanz in Tests beseitigen
    6. Unsere Veränderungen festschreiben
    7. Wo wir sind
  11. 6. Module in JavaScript
    1. Unseren Code in Module aufteilen
    2. Ein Abstecher zu JavaScript-Modulen
      1. CommonJS
      2. Asynchrone Moduldefinition (AMD)
      3. Universelle Moduldefinition (UMD)
      4. ESModule
    3. Unsere Tests verbessern
      1. Redundanz in Tests beseitigen
      2. Hinzufügen einer Testklasse und von Testmethoden
      3. Automatische Erkennung und Ausführung von Tests
      4. Ausgabe erzeugen, wenn die Tests erfolgreich laufen
      5. Alle Tests ausführen, auch wenn eine frühere Test-Assertion fehlschlägt
    4. Unsere Veränderungen festschreiben
    5. Wo wir sind
  12. 7. Module in Python
    1. Unseren Code in Module aufteilen
    2. Redundanz in Tests beseitigen
    3. Unsere Veränderungen festschreiben
    4. Wo wir sind
  13. III. Merkmale und Neugestaltung
  14. 8. Ein Portfolio auswerten
    1. Geld mischen
      1. Geh
      2. JavaScript
      3. Python
    2. Unsere Veränderungen festschreiben
    3. Wo wir sind
  15. 9. Währungen, Währungen, überall
    1. Ein Hash(map) der Dinge erstellen
      1. Geh
      2. JavaScript
      3. Python
    2. Unsere Veränderungen festschreiben
    3. Wo wir sind
  16. 10. Fehlerbehandlung
    1. Fehler-Wunschliste
      1. Geh
      2. JavaScript
      3. Python
    2. Unsere Veränderungen festschreiben
    3. Wo wir sind
  17. 11. Banking on Redesign
    1. Dependency Injection
    2. Alles zusammenfügen
      1. Geh
      2. JavaScript
      3. Python
    3. Unsere Veränderungen festschreiben
    4. Wo wir sind
  18. IV. Beendigung
  19. 12. Testauftrag
    1. Wechselnde Wechselkurse
      1. Geh
      2. JavaScript
      3. Python
    2. Unsere Veränderungen festschreiben
    3. Wo wir sind
  20. 13. Kontinuierliche Integration
    1. Kernkonzepte
      1. Versionskontrolle
      2. Server und Agent erstellen
      3. Artefakt-Repository
      4. Einsatzumgebung
    2. Alles zusammenfügen
      1. Erstelle dein GitHub-Konto
      2. Überprüfe dein GitHub-Konto
      3. Push Code Repository auf GitHub
      4. Vorbereitungen für CI Build Scripts
      5. Geh
      6. JavaScript
      7. Python
    3. Unsere Veränderungen festschreiben
    4. Wo wir sind
  21. 14. Rückblickend
    1. Profil
      1. Zyklomatische Komplexität
      2. Kupplung
      3. Prägnanz
    2. Zweck
      1. Kohäsion
      2. Vollständigkeit
    3. Prozess
    4. Alles zusammenfügen
      1. Geh
      2. JavaScript
      3. Python
    5. Ist TDD nicht tot?
    6. Wo wir sind
  22. A. Einrichtung der Entwicklungsumgebung
    1. Online REPLs
      1. Repl.it
      2. LeetCode
      3. CoderPad
      4. Der Go-Spielplatz
      5. Die umfassende Liste der Online-REPLs
    2. Integrierte Entwicklungsumgebungen (IDEs)
      1. Visual Studio Code
      2. IntelliJ IDEA
      3. Eclipse
    3. Installation der Sprachwerkzeuge
      1. Geh
      2. JavaScript / ES6
      3. Python
  23. B. Eine kurze Geschichte der drei Sprachen
    1. Geh
    2. JavaScript
      1. Das Assert-Modul
      2. Der Modul-Mechanismus
    3. Python
  24. C. Danksagungen
  25. Index

Product information

  • Title: Testgetriebene Entwicklung lernen
  • Author(s): Saleem Siddiqui
  • Release date: October 2024
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9798341604667