Mit Flow Design zu Clean Code

Mit Flow Design zu Clean Code

Zum Inhalt

Seit die Clean Code Developer Initiative über 40 Prinzipien und Praktiken zusammengetragen hat, ist klar, wie wesentlich die Werte Korrektheit und Wandelbarkeit für die Softwareentwicklung sind. Doch Werte und Prinzipien allein genügen nicht. Der Schlüssel zu Clean Code liegt in einer klar strukturierten Vorgehensweise. In diesem Buch wird die Frage beantwortet, wie Entwickler und Entwicklerinnen von den Anforderungen zum Code gelangen. Mit Flow Design Diagrammen kann eine Lösung vor der Kodierung entworfen werden. Aber Flow Design ist mehr als eine Entwurfsmethode. Flow Design ist ein Entwicklungsprozess, der Entwickler und Entwicklerinnen Schritt für Schritt begleitet, auf dem Weg von den Anforderungen zum Code.

Im Buch wird Flow Design Schritt für Schritt anhand zahlreicher Beispiele vorgestellt. Dabei wird jedes Beispiel von den Anforderungen über den Entwurf bis zum konkreten Quellcode durchlaufen. So werden die unterschiedlichen Facetten der Entwurfsmethodik vorgestellt. Im zweiten Teil des Buchs werden alle Elemente von Flow Design systematisch gezeigt, so dass dieser Teil als Nachschlagewerk dienen kann.

Aus dem Inhalt:

  • Flow Design an zahlreichen Beispielen
  • System-Umwelt-Diagramme
  • Interaktionsdiagramme
  • Datenflussdiagramme
  • Übersetzung der Diagramme in Code
  • Umgang mit Abhängigkeiten

476 Seiten

Über den Autor

Stefan Lieser ist Informatiker aus Leidenschaft und arbeitet als Trainer, Berater und Autor. Er ist Mitinitiator der Clean Code Developer Initiative und bietet Trainings und Beratungen an, rund um das Thema Clean Code Development sowie Entwurf mit Flow Design. Dazu hat er die CCD Akademie gegründet. Darüber hinaus beschäftigt er sich mit dem Thema Refactoring von Legacy Code.

Inhaltsverzeichnis

Einführung

  • Entstehung von Flow
  • Design
  • Warum Flow Design?
  • Was ist Flow Design
  • Aufbau des Buches
  • Flow Design am Beispiel

Teil I

  • Das Softwareuniversum
  • Anforderungen zerlegen
  • Der Übergang von den Anforderungen zum Entwurf
  • Flow Design: Datenflussdiagramme
  • Verfeinerung des Entwurfs durch Zerlegung
  • Der Übergang vom Entwurf zur Umsetzung
  • Nachrichten
  • Beispiel WordCount
  • Zustand innerhalb einer Interaktion
  • Zustand über Interaktionen hinweg
  • Beispiel TicTacToe
  • Zustand im Portal
  • Verwendung von Ressourcen
  • Beispiel WordWrap
  • Datenmodelle
  • Abhängigkeiten
  • Zerlegung der UI
  • Beispiel Questionnaire
  • Streams
  • Beispiel LOCcount
  • Fallunterscheidungen
  • Alternativen wieder zusammenführen
  • Beispiel Haushaltsbuch
  • Asynchrone Ausführung
  • Beispiel Wecker
  • Prinzipien

Teil II

  • Einführung
  • Syntax
  • System-Umwelt-Diagramm
  • Aspekte
  • Datenflüsse und Nachrichten
  • Abhängigkeiten
  • Zustand
  • Split
  • Join
  • Map
  • Fallunterscheidung
  • Verfeinerung
  • Klassennamen
  • Nebenläufigkeit
  • Vorgehensweise
    • Darstellung im Softwareuniversum
    • Von den Anforderungen zum Code
    • Anforderungen
    • Entwurf
    • Arbeitsorganisation
    • Implementation
    • Code Review
    • Abnahme durch den Product Owner
  • Übersetzung in Code
    • Eingehende Datenflüsse
    • Ausgehende Datenflüsse
    • Split
    • Hierarchien
    • Fallunterscheidungen
    • Join
    • Zustand
    • UI
  • Glossar