Software-Fehler und Kompromisse: Wie man gute Programmierentscheidungen trifft

Bewertung:   (4,3 von 5)

Software-Fehler und Kompromisse: Wie man gute Programmierentscheidungen trifft (Tomasz Lelek)

Leserbewertungen

Zusammenfassung:

Das Buch bietet eine detaillierte Untersuchung von Kompromissen in der Softwareentwicklung und betont die Bedeutung des Verständnisses von Alternativen und der Auswirkungen von Designentscheidungen in der realen Welt. Obwohl es wertvolle Einblicke bietet und zu einem pragmatischen Ansatz ermutigt, hat es gemischte Kritiken hinsichtlich seiner Schreibqualität und Relevanz für verschiedene Erfahrungsstufen erhalten.

Vorteile:

Bietet wertvolle Einblicke in Kompromisse und realistische Szenarien in der Softwareentwicklung.
Regt zum kritischen Nachdenken darüber an, wann konventionelle Regeln gebrochen werden sollten, z. B. bei der akzeptablen Verwendung von Code-Duplikation.
Enthält praktische Beispiele, die auf reale Situationen anwendbar sind.
Behandelt eine Reihe von Themen, die für Software-Ingenieure auf verschiedenen Ebenen relevant sind.
Fördert ein ausgewogenes Verständnis von Best Practices gegenüber der tatsächlichen Implementierung.

Nachteile:

Einige Kapitel sind zu sehr auf triviale Java-spezifische Themen fokussiert, was für erfahrene Entwickler nicht unbedingt fesselnd ist.
Schwankende Schreibqualität, wobei einige Abschnitte unnötig ausführlich oder vereinfachend sind.
Es fehlt eine eingehende Untersuchung komplexer realer Szenarien und weiterführende Literaturhinweise.
Bestimmte Beispiele wirken zu konstruiert oder offensichtlich, was ihre praktische Anwendbarkeit einschränkt.

(basierend auf 5 Leserbewertungen)

Originaltitel:

Software Mistakes and Tradeoffs: How to Make Good Programming Decisions

Inhalt des Buches:

Optimieren Sie die Entscheidungen, die Ihren Code bestimmen, indem Sie die häufigen Fehler und absichtlichen Kompromisse erforschen, die von erfahrenen Entwicklern gemacht werden.

In Software Mistakes and Tradeoffs lernen Sie, wie man:

Über Ihre Systeme nachzudenken, um intuitive und bessere Designentscheidungen zu treffen.

die Konsequenzen zu verstehen und Kompromisse abzuwägen.

die richtige Bibliothek für Ihr Problem auszuwählen.

Gründliche Analyse aller Abhängigkeiten Ihres Dienstes.

Verstehen Sie die Übermittlungssemantik und wie sie die verteilte Architektur beeinflusst.

Entwerfen und Ausführen von Leistungstests, um Code-Hotpaths zu erkennen und die SLA eines Systems zu validieren.

Erkennen und Optimieren von Hot Paths in Ihrem Code, um die Optimierungsbemühungen auf die Grundursachen zu konzentrieren.

Entscheiden Sie sich für ein geeignetes Datenmodell für die Handhabung von Datum und Uhrzeit, um häufige (aber subtile) Fehler zu vermeiden.

Denken Sie über Kompatibilität und Versionierung nach, um unerwartete Probleme für API-Kunden zu vermeiden.

Verstehen Sie die enge/lose Kopplung und wie sie die Koordination der Arbeit zwischen den Teams beeinflusst.

Klären Sie die Anforderungen, bis sie präzise, leicht zu implementieren und leicht zu testen sind.

Optimieren Sie Ihre APIs für eine benutzerfreundliche Erfahrung.

Codeleistung versus Einfachheit. Liefergeschwindigkeit versus Duplikation. Flexibilität versus Wartbarkeit - bei jeder Entscheidung, die Sie in der Softwareentwicklung treffen, müssen Sie Kompromisse eingehen. In Software Mistakes and Tradeoffs lernen Sie von kostspieligen Fehlern, die Tomasz Lelek und Jon Skeet im Laufe ihrer beeindruckenden Laufbahn gemacht haben. Sie werden reale Szenarien kennenlernen, in denen ein schlechtes Verständnis von Kompromissen zu großen Problemen geführt hat, so dass Sie Ihre eigenen Fehler durch einen durchdachten Ansatz bei der Entscheidungsfindung vermeiden können.

Erfahren Sie, wie sich Code-Duplizierung auf die Kopplung und die Entwicklungsgeschwindigkeit Ihrer Systeme auswirkt und wie sich hinter einfach klingenden Anforderungen versteckte Nuancen in Bezug auf Datums- und Zeitinformationen verbergen können. Entdecken Sie, wie Sie Ihren Optimierungsbereich nach dem 80/20-Pareto-Prinzip effizient eingrenzen und die Konsistenz Ihrer verteilten Systeme sicherstellen können. Schon bald werden Sie eine Wissensbasis aufgebaut haben, wie sie nur durch jahrelange Erfahrung entsteht.

Der Kauf des gedruckten Buches beinhaltet ein kostenloses eBook im PDF-, Kindle- und ePub-Format von Manning Publications.

Über die Technologie.

Bei jedem Schritt in einem Softwareprojekt müssen Sie Kompromisse eingehen. Beim Abwägen zwischen Geschwindigkeit, Sicherheit, Kosten, Lieferzeiten, Funktionen und mehr können sich vernünftige Designentscheidungen in der Produktion als problematisch erweisen. Die Erkenntnisse der Experten und die nachvollziehbaren Erfahrungsberichte in diesem Buch werden Ihnen helfen, beim Entwerfen und Erstellen von Anwendungen die richtigen Entscheidungen zu treffen.

Über das Buch.

Software Mistakes and Tradeoffs untersucht reale Szenarien, in denen falsche Kompromissentscheidungen getroffen wurden, und zeigt auf, was man hätte anders machen können. Die Autoren Tomasz Lelek und Jon Skeet geben darin Weisheiten weiter, die auf jahrzehntelanger Erfahrung in der Softwareentwicklung beruhen, darunter auch einige sehr lehrreiche Fehler. Sie werden die spezifischen Tipps und praktischen Techniken schätzen, die jedes Beispiel begleiten, zusammen mit den immergrünen Mustern, die die Art und Weise verändern werden, wie Sie Ihre nächsten Projekte angehen.

Was drin ist.

Wie Sie systematisch über Ihre Software nachdenken.

Wie man Werkzeuge, Bibliotheken und Frameworks auswählt.

Wie sich enge und lose Kopplung auf die Teamkoordination auswirken.

Anforderungen, die präzise, leicht zu implementieren und leicht zu testen sind.

Über den Leser.

Für Entwickler und Architekten auf mittlerer und höherer Ebene, die Entscheidungen über den Entwurf und die Implementierung von Software treffen.

Über den Autor.

Tomasz Lelek arbeitet täglich mit einer breiten Palette von Produktionsdiensten, Architekturen und JVM-Sprachen. Ein Google-Ingenieur und Autor von C# in Depth, Jon Skeet ist bekannt für seine vielen praktischen Beiträge zu Stack Overflow.

Inhaltsverzeichnis.

1 Einleitung.

2 Code-Duplizierung ist nicht immer schlecht: Code-Duplizierung vs. Flexibilität.

3 Ausnahmen vs. andere Muster der Fehlerbehandlung in Ihrem Code.

4 Abwägen zwischen Flexibilität und Komplexität.

5 Vorzeitige Optimierung vs. Optimierung des heißen Pfades: Entscheidungen, die sich auf die Codeleistung auswirken.

6 Einfachheit vs. Wartungskosten für Ihre API.

7 Effektives Arbeiten mit Datums- und Zeitdaten.

8 Ausnutzung der Datenlokalität und des Speichers Ihrer Maschinen.

9 Bibliotheken von Drittanbietern: Die von Ihnen verwendeten Bibliotheken werden zu Ihrem Code.

10 Konsistenz und Atomarität in verteilten Systemen.

11 Übermittlungssemantik in verteilten Systemen.

12 Verwaltung von Versionierung und Kompatibilität.

13 Mit Trends auf dem Laufenden bleiben vs. Kosten für die Wartung Ihres Codes.

Weitere Daten des Buches:

ISBN:9781617299209
Autor:
Verlag:
Sprache:Englisch
Einband:Taschenbuch
Erscheinungsjahr:2022
Seitenzahl:300

Kauf:

Derzeit verfügbar, auf Lager.

Ich kaufe es!

Weitere Bücher des Autors:

Software-Fehler und Kompromisse: Wie man gute Programmierentscheidungen trifft - Software Mistakes...
Optimieren Sie die Entscheidungen, die Ihren Code...
Software-Fehler und Kompromisse: Wie man gute Programmierentscheidungen trifft - Software Mistakes and Tradeoffs: How to Make Good Programming Decisions

Die Werke des Autors wurden von folgenden Verlagen veröffentlicht: