Robust Python: Erstellung zuverlässigen Python-Codes mit Patterns und Praktiken
Robust Python: Erstellung zuverlässigen Python-Codes mit Patterns und Praktiken
Zusammenfassung:
Einleitung
Das Buch „Robust Python: Erstellung zuverlässigen Python-Codes mit Patterns und Praktiken“ (Originaltitel Robust Python) von Patrick Viafore ist kein weiteres Lehrbuch zur Syntax der Sprache. Es ist ein tiefer Eintauchen in die Welt der industriellen Softwareentwicklung, bei der nicht nur funktionierende Programme im Vordergrund stehen, sondern Code, der leicht zu warten, zu erweitern und zu debuggen ist. Das 2021 erschienene Buch wurde schnell zum Standardwerk für viele Entwickler, die vom Schreiben von Skripten zur Erstellung komplexer, langlebiger Systeme übergehen möchten.
Patrick Viafore ist ein erfahrener Softwareentwickler und Berater, der sich auf Python spezialisiert hat. In seinem Buch teilt er nicht nur theoretisches Wissen, sondern auch langjährige praktische Erfahrung und zeigt, wie man typische Fallstricke vermeidet und wirklich zuverlässige Software erstellt.
Worum geht es in diesem Buch?
„Robust Python“ ist ein praktischer Leitfaden zur Erstellung robusten Codes. Das Buch deckt ein breites Themenspektrum ab, von den Grundlagen der Typisierung bis hin zu Architektur-Patterns. Der Autor führt den Leser konsequent durch die wichtigsten Aspekte und betont, wie jeder einzelne die allgemeine Zuverlässigkeit des Systems beeinflusst.
Zu den Hauptabschnitten des Buches gehören:
- Grundlagen der Zuverlässigkeit: Was ist zuverlässiger Code und warum ist er für jedes Projekt wichtig.
- Das Python-Typsystem: Vertiefte Untersuchung der statischen Typisierung mit mypy, Typannotationen, generische Typen, Protokolle und TypedDict.
- Abhängigkeits- und Konfigurationsmanagement: Wie man Imports richtig organisiert, Dependency Injection verwendet und Anwendungseinstellungen verwaltet.
- Fehler- und Ausnahmebehandlung: Best Practices für die Erstellung eigener Ausnahmen, Arbeit mit Kontextmanagern und Ausführungsgarantien.
- Testen und Debuggen: Schreiben von Unit-Tests, Verwendung von Fixtures, Mocks und property-based Testing.
- Architektur-Patterns: Anwendung der SOLID-Prinzipien, Entwurfsmuster (z. B. Strategie, Beobachter) und Erstellung einer hexagonalen Architektur.
- Arbeit mit Daten: Entwurf robuster APIs, Serialisierung und Datenvalidierung mit Pydantic.
Für wen ist dieses Buch?
Das Buch richtet sich an Python-Entwickler mittlerer und fortgeschrittener Kenntnisstufen, die bereits sicher Code schreiben, aber die Qualität ihrer Projekte auf ein neues Niveau heben möchten. Es wird nützlich sein für:
- Entwickler, die vom Schreiben von Skripten zur Entwicklung von Webanwendungen oder Bibliotheken übergehen.
- Teamleiter und Architekten, die nach Möglichkeiten suchen, den Code im Team zu standardisieren.
- Alle, die die Anzahl der Fehler reduzieren und den Refactoring-Prozess vereinfachen möchten.
Anfängern mag das Buch komplex erscheinen, da es Kenntnisse der Python-Grundlagen und grundlegender OOP-Konzepte voraussetzt.
Was lernt der Leser?
Nach der Lektüre von „Robust Python“ werden Sie in der Lage sein:
- Das Typsystem zu nutzen für die automatische Überprüfung der Code-Korrektheit und die Dokumentation von Schnittstellen.
- Robuste APIs zu entwerfen, die schwer falsch zu verwenden sind.
- Tests zu schreiben, die tatsächlich das Verhalten und nicht die Implementierung prüfen.
- Entwurfsmuster anzuwenden, um typische Aufgaben ohne übermäßige Komplexität zu lösen.
- Abhängigkeiten und Konfiguration so zu verwalten, dass der Code flexibel und testbar bleibt.
- Eigene Ausnahmen zu erstellen und Fehler auf vorhersehbare Weise zu behandeln.
- Code zu refaktorisieren, mit dem Vertrauen, dass Tests Regressionen abfangen.
Stärken des Buches
Eine der Hauptstärken des Buches ist seine praktische Ausrichtung. Jedes Konzept wird durch reale Codebeispiele untermauert, die sofort in der Arbeit angewendet werden können. Der Autor listet nicht nur auf
Empfehlungen
JavaScript (Node.js) für Data Science: Datenanalyse und maschinelles Lernen
Webentwicklung mit TypeScript: Von den Grundlagen bis zum Deployment
Rust und Datenbanken: Ein praktischer Leitfaden
C# 9.0 in a Nutshell: Taschenhandbuch
Pro Asynchronous Programming with .NET (Professionelle asynchrone Programmierung in .NET)
Meisterung von PHP 7