Book description
John Ousterhout, Erfinder von Tcl und seit 2008 Professor am Department of Computer Science der Stanford University, sieht Softwaredesign als zentrale Kompetenz, die gro�?artige von normalen Programmierenden unterscheidet - eine Kompetenz, die aber kaum gelehrt und vermittelt wird. In seinem Buch gibt er pers�¶nliche Erfahrungen weiter, die er durch das Schreiben und Lesen von mehr als 250.000 Zeilen Code gewonnen hat. Seine nahezu philosophischen �?berlegungen, bew�¤hrten Prinzipien und eing�¤ngigen Codebeispiele sind Ergebnis eines Kurses, den er an der Stanford University mehrfach gehalten hat.
Er behandelt zun�¤chst, wie man Komplexit�¤t beherrscht, indem man komplexe Softwaresysteme in Module (Klassen, Methoden etc.) zerlegt. Er diskutiert philosophisch und doch praktisch Fragen der Herangehensweise, stellt bew�¤hrte Entwurfsprinzipien vor und macht auf typische Designprobleme aufmerksam.
Table of contents
- Cover
- Titel
- Impressum
- Inhalt
- Vorwort
- 1 Einführung (es geht immer um Komplexität)
- 2 Die Natur der Komplexität
- 3 Funktionierender Code reicht nicht aus (strategische versus taktische Programmierung)
- 4 Module sollten tief sein
- 5 Information Hiding (und Lecks)
-
6 Vielseitige Module sind tiefer
- Gestalten Sie Klassen halbwegs vielseitig
- Beispiel: Text für einen Editor speichern
- Eine vielseitigere API
- Vielseitigkeit führt zu besserem Information Hiding
- Fragen, die Sie sich stellen sollten
- Spezialisierung nach oben (und unten!) schieben
- Beispiel: Undo-Mechanismus für den Editor
- Spezialfälle wegdesignen
- Zusammenfassung
- 7 Verschiedene Schichten, verschiedene Abstraktionen
- 8 Komplexität nach unten ziehen
-
9 Zusammen oder getrennt?
- Zusammenbringen bei gemeinsamen Informationen
- Zusammenbringen, um die Schnittstelle zu vereinfachen
- Zusammenbringen, um doppelten Code zu vermeiden
- Trennen von allgemeinem und speziellem Code
- Beispiel: Einfügecursor und Auswahl
- Beispiel: Getrennte Klasse zum Loggen
- Methoden aufteilen und zusammenführen
- Eine andere Meinung: Clean Code
- Zusammenfassung
- 10 Definieren Sie die Existenz von Fehlern weg
- 11 Designen Sie zweimal
- 12 Warum Kommentare schreiben? – Die vier Ausreden
-
13 Kommentare sollten Dinge beschreiben, die im Code nicht offensichtlich sind
- Konventionen
- Wiederholen Sie nicht den Code
- Kommentare auf niedrigerer Ebene sorgen für Präzision
- Kommentare auf höherer Ebene verbessern die Intuition
- Schnittstellendokumentation
- Implementierungskommentare: was und warum, nicht wie
- Modulübergreifende Designentscheidungen
- Zusammenfassung
- Antworten auf die Fragen aus dem Abschnitt »Schnittstellendokumentation« auf Seite 123
- 14 Namen auswählen
- 15 Erst die Kommentare schreiben (nutzen Sie Kommentare als Teil des Designprozesses)
- 16 Bestehenden Code anpassen
- 17 Konsistenz
- 18 Code sollte offensichtlich sein
- 19 Softwaretrends
- 20 Performance
- 21 Entscheiden, was wichtig ist
- 22 Zusammenfassung
- Fußnoten
- Index
- Über den Autor
- Kolophon
Product information
- Title: Prinzipien des Softwaredesigns
- Author(s):
- Release date: October 2021
- Publisher(s): dpunkt
- ISBN: 9783960091592
You might also like
book
Basiswissen Testautomatisierung
Testautomatisierung ist ein mächtiges Werkzeug, um Tests wiederholbar zu machen und effizienter zu gestalten. Dieses Buch …
book
Handbuch moderner Softwarearchitektur
Mark Richards und Neal Ford — Praktiker mit Erfahrung aus erster Hand, die seit Jahren das …
book
Data-Science-Crashkurs
Dieses Buch bietet einen praxisnahen Einstieg in Data Science, angereichert mit interaktiven Elementen, der die Breite …
book
Versionsverwaltung mit Git
Von grundlegenden Funktionen über die Handhabung von Branches und Remote-Repositories bis zu Tipps und Tricks für …