45 Punkte von GN⁺ 2025-08-09 | Noch keine Kommentare. | Auf WhatsApp teilen
  • In den letzten Monaten wurden verschiedene LLM-Programmieragenten ausprobiert; dabei war Claude Code das zufriedenstellendste Werkzeug
  • Mit Claude Code wurden in kurzer Zeit rund 12 Programme und Projekte erstellt; auch Arbeiten wurden möglich, die sonst aus Zeitgründen gar nicht begonnen worden wären
  • Für eine erfolgreiche Nutzung sind das Erstellen klarer Spezifikationen, die Bereitstellung einer Dokumentation zu Projektstruktur sowie Build-, Lint- und Testausführung, das Anfordern eines Code-Reviews durch die AI selbst und der Einsatz eines personalisierten globalen Agentenleitfadens entscheidend
  • Da von AI geschriebener Code oft ungenau oder ineffizient sein kann, werden sämtlicher Code und alle Testfälle unbedingt manuell geprüft; fehlende Tests werden entweder selbst ergänzt oder von der AI erstellt und anschließend erneut überprüft
  • Der als Anhang veröffentlichte globale Agentenleitfaden enthält detaillierte Entwicklungsrichtlinien wie schrittweise Implementierungsplanung, testgetriebene Entwicklung, eine Philosophie mit Fokus auf Einfachheit, Klarheit und Pragmatismus, Qualitätskriterien und Problemlösungsprozesse

Erfahrungen mit Claude Code und seine Wirkung

  • In den vergangenen Monaten wurden verschiedene LLM-Programmieragenten getestet, wobei die Erfahrungen mit Claude Code besonders positiv waren
  • Es ist nicht völlig frei von Problemen, dennoch konnten in kurzer Zeit mehr als 12 Programme und Projekte fertiggestellt werden
  • Ohne Claude Code wäre es nahezu unmöglich gewesen, all diese Arbeiten im selben Zeitraum zu erledigen
  • Viele dieser Arbeiten wären wegen des Zeitaufwands vermutlich gar nicht erst versucht worden

Strategien für den Einsatz von Claude Code

  • Klare Spezifikationen erstellen
    • Vor Projektbeginn Anforderungen und Kontext klar dokumentieren und dem Agenten bereitstellen
    • Dadurch werden Richtung und Umfang der Code-Erstellung eindeutig
  • Projektstruktur dokumentieren
    • Eine Dokumentation bereitstellen, die auch beschreibt, wie Build, Lint und Tests ausgeführt werden
    • So kann der Agent die Codebasis effektiver erkunden und bearbeiten
  • Code-Review durch den Agenten anfordern
    • Claude Code den erzeugten Code selbst prüfen lassen, um unerwartete Verbesserungsmöglichkeiten oder Bugs zu finden
  • Persönlichen globalen Leitfaden nutzen
    • Über ~/.claude/CLAUDE.md, das persönliche Regeln wie Problemlösungsansatz, Einsatz von TDD, Wahrung von Einfachheit und Klarheit sowie ein Limit von drei Versuchen enthält, wird ein konsistenter Entwicklungsprozess sichergestellt

Von LLMs geschriebenen Code validieren

  • Von AI erzeugter Code weist häufig Probleme wie logische Fehler, Leistungseinbußen oder unvollständige Tests auf
  • Der Autor prüft sämtlichen Code manuell und kontrolliert dessen Verhalten
    • Fehlende Testfälle werden selbst ergänzt
    • Oder die AI wird gebeten, sie zu schreiben; anschließend werden Code und Tests erneut überprüft
  • In professionellen Umgebungen, so wird betont, liegt die Verantwortung für die Endqualität bei einem selbst, sobald der eigene Name in einem PR steht

Wichtige Inhalte des persönlichen „globalen“ Agentenleitfadens

Dieser Leitfaden wird in der Datei ~/.claude/CLAUDE.md verwaltet

  • Philosophie und Kernprinzipien

    • Schrittweises Vorgehen: Änderungen in kleinen Einheiten, dabei müssen Kompilierung und Tests immer erfolgreich sein
    • Bestehenden Code lernen: Vor der Implementierung Code-Muster analysieren und einen Plan erstellen
    • Pragmatismus vor allem: Ein flexibler Ansatz, angepasst an die jeweilige Projektsituation
    • Klarheit vor allem: Gut lesbarer Code mit klarer Absicht, ohne unnötige Tricks
  • Definition von Einfachheit

    • Funktionen und Klassen haben jeweils nur eine Verantwortung
    • Keine verfrühte Abstraktion
    • Komplexität reduzieren und Code anstreben, der keine Erklärung benötigt
  • Arbeitsprozess

    • 1. Planung und Phaseneinteilung:
      • Komplexe Aufgaben in 3 bis 5 Schritte aufteilen und in IMPLEMENTATION_PLAN.md festhalten
      • Für jede Phase Ziele, Erfolgskriterien, Testfälle und Fortschrittsstatus angeben
    • 2. Implementierungsablauf:
      • Verstehen → Test schreiben (rot) → minimale Implementierung (grün) → Refactoring → Commit
    • 3. Nach drei Versuchen neu bewerten:
      • Bei Fehlschlägen die bisherigen Versuche, Fehler und Ursachen dokumentieren
      • Alternativen erkunden (2–3 Ansätze)
      • Grundlegendes Design und Problemzerlegung erneut überprüfen
      • Andere Muster oder Funktionen ausprobieren
  • Technische Standards

    • Composition zuerst, unter Nutzung von Dependency Injection
    • Interfaces verwenden, um Testbarkeit sicherzustellen
    • Expliziter Datenfluss
    • TDD wird empfohlen, das Deaktivieren von Tests ist verboten
  • Regeln für Code-Qualität

    • Jeder Commit muss erfolgreich kompilieren, alle Tests bestehen, Tests für neue Funktionen enthalten und den Code-Stil einhalten
    • Vor dem Commit Formatter und Linter ausführen, Änderungen selbst reviewen und Commit-Messages schreiben, die das „Warum“ erklären
  • Fehlerbehandlung

    • Schnell fehlschlagen und konkrete Meldungen ausgeben
    • Den für das Debugging nötigen Kontext bereitstellen
    • Ausnahmen auf der passenden Ebene behandeln, Ausnahmen nicht verschleiern
  • Entscheidungskriterien

    • 1. Testbarkeit
    • 2. Lesbarkeit, die auch in 6 Monaten noch verständlich ist
    • 3. Konsistenz mit den Projektmustern
    • 4. Einfachheit
    • 5. Änderbarkeit
  • Projektintegration

    • Mindestens 3 ähnliche Funktionen analysieren
    • Bestehende Muster und Bibliotheken wiederverwenden
    • Dieselben Test-Utilities verwenden
    • Für die Einführung neuer Werkzeuge ist eine starke Begründung nötig
  • Quality Gates

    • Alle Tests bestehen
    • Projektregeln werden eingehalten
    • Keine Linter-Warnungen
    • Commit-Message ist klar
    • Die Implementierung entspricht dem Plan
    • TODOs enthalten eine Issue-Nummer
  • Testleitlinien

    • Tests fokussieren auf Verhalten statt auf Implementierung
    • Wenn möglich nur eine Assertion pro Test
    • Klare Namen, die das Szenario beschreiben
    • Bestehende Test-Utilities wiederverwenden
    • Tests müssen deterministisch sein
  • Absolut verboten

    • Hooks mit --no-verify umgehen
    • Tests deaktivieren
    • Nicht kompilierbaren Code committen
    • Vermutungen ohne Verifikation
  • Muss unbedingt getan werden

    • Schrittweise committen
    • Dokumentation laufend aktualisieren
    • Aus bestehenden Implementierungen lernen
    • Nach drei Fehlschlägen den Ansatz neu bewerten

Mit Claude Code erstellte Open-Source-Projekte

Noch keine Kommentare.

Noch keine Kommentare.