Test-first Codierung
/
Die Methode
Die Methode
Up next
01 - Die Anforderung-Logik Lücke
In this part
01 - Die Anforderung-Logik Lücke
Logik - Der Stoff aus dem Verhalten entsteht
Funktionalität
Effizienz I - Effizienz durch Algorithmen und Datenstrukturen
Effizienz II - Effizienz durch Verteilung
Zusammenfassung
Von den Anforderungen zur Logik
Logik schwer definierbar
Die Phasen der Programmierung
Zusammenfassung
Übungsaufgaben
02 - Vorläufig codieren im Chaos
Das Nein der Codierung
Prototyping to the Rescue
Die Schwierigkeit der Umsetzung einstufen
Zusammenfassung
03 - Sofort codieren in der Trivialität
Trivialität als Gegenteil von Chaos
Vorsicht vor Selbstüberschätzung!
04 - Schrittweise codieren in der Einfachheit
Trittsteine legen
Pear Programming
Die Kunst der Problemskalierung
Sichtbarkeit von Variationsdimensionen
Variationen ordnen
Am Beispiel
Zusammenfassung
Übungsaufgaben
05 - Komplementär codieren in der Kompliziertheit
Zerlegung in komplementäre Teilprobleme
Funktionen repräsentieren Lösungen
Integration Operation Segregation Principle
Zerlegungsbeispiel I
Leitfragen für die Zerlegung
Analyse & Entwurf
Codierung
Reflexion
Buddelschiff Programmierung
Zerlegungsbeispiel II
Bottom-up Codierung
Reflexion
Zusammenfassung
Übungsaufgaben
06 - Tests als Treiber der Modularisierung
Akzeptanztests
Triviale Probleme
Einfache Probleme
Komplizierte Probleme
Gerüsttests
Gerüsttestfälle erhalten I - Akzeptanztests
Gerüsttestfälle erhalten II - Modultests
Zusammenfassung
Übungsaufgaben
07 - Testbarkeit steigern mit Surrogaten
Logik dynamisch binden
Statische Bindung
Dynamische Bindung mit Funktionszeigern
Dynamische Bindung mit Objekten
Zusammenfassung
Surrogate in Tests einsetzen
Extraktion einer Klasse und Abstraktion mit Interface
Injektion einer Objektfabrik
Surrogate unterschieben
Reflexion
IOSP over Surrogates
Extraktion eines Belangs
Refactoring to Functional Core
Schritte in die Objektorientierung
Zusammenfassung
Übungsaufgaben
08 - Experimentell codieren in der Komplexität
Experimentelles Vorgehen im Testcode
TDD as if you meant it (TDDaiymi)
Beispiel #1: FromRoman revisted
Inkrement 1
Inkrement 2
Inkrement 3
Inkrement 4
Inkrement 5
Inkrement 6
Reflexion
Beispiel #2: Eine ruhige Bowlingkugel schieben
Analyse
Codierung
Reflexion
Zusammenfassung
Übungsaufgaben
09 - Test-first refaktorisieren
Frustrierende Lektüre
Fehlende Bedeutung
Fehlende Zusammenhänge
Fehlende Testbarkeit
Warum refaktorisieren?
Softwarewartung erhält Ordnung proaktiv
Schrittweise aufräumen I
Bestimme das System-to-Refactor (S2R)
Refactor to Test-First
Schrittweise aufräumen II
Refactor to IOSP
Refactor to Modules
Dokumentieren
Reflexion
Zusammenfassung
Übungsaufgaben
10 - Finale mit Testmatrix