Konzepterklärung
Performance in Go beginnt oft damit, das Einfachste zu schreiben, das funktioniert, und dann unnötigen Aufwand dort zu eliminieren, wo es darauf ankommt. In dieser Lektion erstellen Sie ein kleines Beispiel, untersuchen, wo zusätzliche Arbeit anfällt, und nehmen eine gezielte Verbesserung vor, ohne den Code schwerer lesbar zu machen. Ziel ist es, den effizienten Datenfluss zu üben, unnötige Allokationen nach Möglichkeit zu vermeiden und Funktionen klein genug zu halten, um sie nachvollziehen zu können.
Wo der Code hingehört
- Definieren Sie Farb- und Positionsvariablen oben.
- Erstellen Sie die Logik für das Zeichnen oder Platzieren von Formen in der Mitte.
- Rendern Sie die Ausgabe (Druck, Canvas, SVG oder gestylter Block) am Ende.
Befehlsreferenz
- Führen Sie den Code aus, dann notieren Sie, welcher Teil Arbeit wiederholt und welcher Teil konstant bleibt.
- Messen Sie eine kleine Änderung, wie z.B. das Vorab-Allokieren eines Slice oder das Wiederverwenden eines Wertes, und vergleichen Sie das Ergebnis.
- Halten Sie die Paketstruktur einfach, damit Performance-Änderungen leicht zu überprüfen bleiben.
- Schreiben Sie einen Grund auf, warum Ihre schnellere Version immer noch lesbar ist.
Schritt-für-Schritt-Anleitung
- Führen Sie zuerst den Startcode aus, um das Basisverhalten zu kennen.
- Identifizieren Sie eine Stelle, an der das Programm mehr Arbeit als nötig verrichtet.
- Nehmen Sie nur eine Verbesserung vor, führen Sie das Programm dann erneut aus und vergleichen Sie die Ausgabe.
- Erklären Sie in einem Satz, warum Ihre Änderung die Performance verbessert.
- Schließen Sie mit einem kurzen Check ab: korrektes Ergebnis, klare Namen und keine unnötige Komplexität.
Übungsaufgaben
- Schreiben Sie das Beispiel so um, dass es einen größeren Slice effizient erstellt, ohne das Endergebnis zu ändern.
- Erstellen Sie eine zweite Version, die dieselbe Aufgabe auf einfachere, aber etwas weniger optimierte Weise löst, und vergleichen Sie dann die Kompromisse.
- Ändern Sie das Beispiel so, dass es mit Strings anstelle von Integern arbeitet, und halten Sie den Code effizient.
Coding-Challenges
- Verarbeiten Sie einen größeren Eingabesatz und halten Sie den Code leicht nachvollziehbar.
- Finden Sie eine Performance-Verbesserung, die nicht auf cleveren Tricks oder verwirrendem Code beruht.
Kleine Übungsaufgaben
- Benennen Sie eine Variable um, um ihren Zweck klarer zu machen.
- Fügen Sie einen kurzen Kommentar hinzu, der die von Ihnen getroffene Performance-Entscheidung erklärt.
- Geben Sie die Länge und Kapazität des Slice aus, um zu bestätigen, was das Programm tut.
Häufiger Fehler
Mixing x and y axes or using wrong coordinate origin causes shapes to appear in unexpected places.
Mini-Challenge aus der Praxis
Draw one square, one triangle, and one circle, then move X marker 2 steps right and 1 step down.