Mit durchdachtem Softwaredesign zu besserem Code
- US-Bestseller des renommierten Stanford-Professors John Ousterhout
- Kombiniert eingängige Codebespiele (v. a. Java und C++) und High-Level-Konzepte, durch die Sie Ihr Verständnis von Softwaredesign deutlich vertiefen werden.
- Bewährte Didaktik: Die Inhalte wurden im Rahmen eines Kurses an der Stanford University mehrfach mit Studierenden durchgespielt.
Die Prinzipien guten Softwaredesigns zu verstehen, hält John Ousterhout für eine Schlüsselqualifikation in der Softwareentwicklung. Sein Buch gibt Impulse für eine anregende und notwendige Diskussion und bietet praxistaugliche Hilfestellungen für gute Designentscheidungen.
Ausgehend von der Frage »Wie können wir die Komplexität in großen Softwaresystemen reduzieren und managen?« arbeitet John Ousterhout Prinzipien für das Softwaredesign heraus, die als Leitlinie für den gesamten Softwareentwicklungsprozess dienen können.
Sie erfahren in diesem Buch:
- Wie Sie komplexe Systeme in möglichst unabhängige Module mit einfachen Schnittstellen zerlegen
- Wie Sie Spezialisierung in Modulen vermeiden
- Wie Sie die Anzahl der Stellen im Code minimieren, an denen Exceptions behandelt werden müssen
- Wie Sie Kommentare und gut gewählte Namen nutzen, um Ihren Code verständlicher zu machen
- Wie Sie vermeiden, dass sich Komplexität einschleicht, wenn Systeme sich weiterentwickeln
- Welche Warnhinweise darauf hindeuten, dass Sie Designentscheidungen überprüfen sollten
Ousterhout stellt Überzeugungen infrage, die weit verbreitet sind: Er rät davon ab, die Anzahl der Codezeilen einer Methode oder Klasse als Gradmesser für die Komplexität von Software zu verstehen, und plädiert dafür, sich auf ihre »Tiefe« zu konzentrieren – wie gut sie also Komplexität verstecken. Und während viele Entwicklerinnen und Entwickler meinen, dass sich gut geschriebene Programme von selbst dokumentierten, zeigt Ousterhout, wie essenziell Kommentare sind: Das Schreiben guter Kommentare ermöglicht Abstraktion, und es wird zu besserem Softwaredesign führen.