100 Fehler in Go und wie man sie vermeidet
483 Seiten
German
PDF
4.5

100 Fehler in Go und wie man sie vermeidet

100 Fehler in Go und wie man sie vermeidet

Autor:

Jahr:

Zusammenfassung:

Einleitung

Das Buch „100 Go Mistakes and How to Avoid Them“ (Teiva Harsanyi, 2022) ist nicht nur eine Sammlung typischer Fehler, sondern ein umfassender praktischer Leitfaden zum Schreiben von qualitativ hochwertigem, effizientem und wartbarem Code in der Sprache Go. Der Autor, ein erfahrener Ingenieur und Berater, hat 100 reale Probleme gesammelt, mit denen Entwickler konfrontiert werden, und bietet klare, fundierte Lösungen an. Das Buch erschien 2022 und wurde sofort zum Bestseller in der Kategorie „Golang“. Auf 483 Seiten deckt es alle wesentlichen Aspekte der Sprache ab: von grundlegenden Konstrukten bis hin zu fortgeschrittenen Themen wie Nebenläufigkeit, Speicherverwaltung und Testen.

Worum geht es in dem Buch

Das Buch ist in thematische Abschnitte gegliedert, die jeweils einem bestimmten Bereich der Go-Entwicklung gewidmet sind. Innerhalb jedes Abschnitts werden 5 bis 15 konkrete Fehler mit detaillierter Analyse behandelt. Jedes Kapitel folgt einem einheitlichen Schema: Beschreibung des Problems, Codebeispiel, Erklärung, warum es ein Fehler ist, und schließlich der richtige Ansatz. Dieses Format ermöglicht es, das Buch sowohl als Lehrbuch als auch als Nachschlagewerk zu nutzen. Die Hauptthemen sind:

  • Grundlegende Konstrukte — Variablen, Datentypen, Kontrollstrukturen, Funktionen.
  • Zeichenketten und Sammlungen — Arbeit mit Strings, Slices, Maps, Fallstricke.
  • Schnittstellen und Generics — korrektes Design von Schnittstellen, typische Fehler mit leeren Schnittstellen.
  • Nebenläufigkeit — Goroutinen, Kanäle, Mutexe, Atomare Operationen, Synchronisationsmuster.
  • Speicherverwaltung — Stack, Heap, Escape-Analyse, Garbage Collection, Speicherlecks.
  • Fehlerbehandlung — Panic, Recover, Fehler als Werte, Wrapping.
  • Testen und Benchmarking — Schreiben von Tests, Mocks, Profiling.
  • Standardbibliothek — JSON, HTTP, Dateiarbeit.

Für wen ist dieses Buch geeignet

Das Buch richtet sich an ein breites Publikum von Go-Entwicklern – vom Anfänger, der bereits die Syntax beherrscht, bis zum erfahrenen Ingenieur, der sein Verständnis der internen Sprachmechanismen vertiefen möchte. Besonders nützlich ist es für diejenigen, die von anderen Sprachen (Java, Python, C++) zu Go wechseln, da viele Fehler mit der falschen Übertragung von Gewohnheiten zusammenhängen. Auch für Teamleiter und Code-Reviewer, die lernen möchten, problematische Stellen in fremdem Code zu erkennen, ist das Buch eine hervorragende Hilfe.

Was der Leser lernen wird

  • Warum man range nicht zum Kopieren von Slices verwenden sollte und wie man richtig kopiert.
  • Wie man Datenrennen bei der Arbeit mit Goroutinen und Kanälen vermeidet.
  • Was der Unterschied zwischen sync.Mutex und sync.RWMutex ist und wann man was verwendet.
  • Wie man Fehler richtig behandelt, um den Kontext nicht zu verlieren.
  • Warum defer zu Speicherlecks führen kann und wie man dies vermeidet.
  • Wie man effiziente Benchmarks schreibt und deren Ergebnisse interpretiert.
  • Typische Fehler bei der Arbeit mit JSON (z. B. das Ignorieren von json.RawMessage).
  • Wie man Generics (Go 1.18+) ohne unnötige Komplexität einsetzt.
  • Warum man sich nicht auf die Reihenfolge der Elemente in einer Map verlassen sollte.
  • Wie man Panics im Production-Code vermeidet.

Stärken des Buches

Erstens und vor allem: praktische Ausrichtung. Jeder Fehler wird von echtem Code begleitet, den man sofort ausführen und das Problem sehen kann. Zweitens: Tiefe der Erklärung: Der Autor sagt nicht einfach „das sollte man nicht tun“, sondern erklärt, warum dies auf der Ebene des Compilers, der Laufzeitumgebung oder der Standardbibliothek passiert. Drittens: Strukturiertheit: Das Buch ist in kleine Kapitel unterteilt, sodass man es an jeder beliebigen Stelle lesen kann. Viertens: Aktualität: Änderungen bis einschließlich Go 1.19, einschließlich Generics, wurden berücksichtigt. Fünftens: Qualität der Übersetzung (falls es sich um die russische Ausgabe handelt) – die Terminologie ist präzise, die Beispiele sind angepasst. Schließlich enthält das Buch zahlreiche Verweise auf die offizielle Do

Empfehlungen