Automatische Architekturdiagramme

Swark: Automatische Architekturdiagramme aus Code

vg

Es ist schwierig, die richtige Softwarearchitektur zu finden. Falsch ausgerichtete Teams, unklare Diagramme und zeitaufwändige Prozesse führen oft zu Frustration und suboptimalen Designentscheidungen. Wenn sich Entwicklungsteams für einen dezentralen, kollaborativen Architekturansatz entscheiden, wird der Einsatz noch größer. In dem Versuch, die automatische Architekturdiagramme ein wenig einfacher zu machen, ausgestattet mit den neuen Funktionen, die KI und LLMs freischalten, habe ich versucht, einen der wichtigsten Teile der Softwarearchitektur anzugehen und zu automatisieren – die Diagrammerstellung.

Lernen Sie Swark kennen

Swark ist eine kostenlose, Open-Source-VS-Code-Erweiterung, die es Entwicklern ermöglicht, Architekturdiagramme direkt aus dem Code zu generieren. Dies geschieht automatisch durch den Einsatz großer Sprachmodelle (LLMs), die die Struktur und Abhängigkeiten des Codes analysieren und visualisieren. Anstatt manuell Diagramme zu erstellen, was zeitaufwendig und fehleranfällig sein kann, übernimmt Swark diesen Prozess und spart somit wertvolle Zeit und Ressourcen. Die Erweiterung nutzt dabei die neuesten Fortschritte in der KI, um genau und effizient zu arbeiten. Entwickler können auf einfache Weise die Architektur ihrer Projekte verstehen, Fehler im Design identifizieren und ihre Dokumentation in wenigen Minuten auf dem neuesten Stand halten. So wird das Verständnis von komplexen Codebasen deutlich erleichtert, was insbesondere für das Onboarding neuer Entwickler oder die Analyse bestehender Projekte von großem Nutzen ist.

Warum Swark?

  • Kostenlos und Open Source: Alles, was Sie brauchen, ist GitHub Copilot, das jetzt kostenlos verfügbar ist. Sie können den Code von Swark überprüfen, um zu verstehen, wie er funktioniert, und dazu beitragen, ihn zu verbessern.
  • Universelle Sprachunterstützung: Klassische Codevisualisierungslösungen sind deterministisch und erfordern das inkrementelle Hinzufügen von Unterstützung in neuen Sprachen oder Frameworks. Mit Swark ist die gesamte „Logik“ im LLM gekapselt und unterstützt daher nativ alle Sprachen.
  • Nahtlose Integration: Swark lässt sich direkt in GitHub Copilot integrieren. Es sind keine zusätzlichen Einrichtungs-, Authentifizierungs- oder API-Schlüssel erforderlich.
  • Datenschutz zuerst: Ihr Quellcode wird nur mit GitHub Copilot geteilt – es sind keine anderen externen APIs oder Anbieter beteiligt.
  • Mermaid.js: Swark generiert Diagramme in Mermaid.js, einem beliebten Diagram-as-Code-Framework. Sie können die Diagramme nach Bedarf bearbeiten und verfeinern.

Anwendungsfälle

  • Lernen Sie eine neue Codebasis kennen: Generieren Sie sofort Architekturdiagramme, um ein umfassendes Verständnis unbekannter Repositories zu erlangen. Ideal für das Onboarding und die Bewältigung neuer Projekte.
  • Überprüfen Sie KI-generierten Code: Da KI-generierte Projekte immer häufiger werden, hilft Ihnen Swark, ihre Struktur schnell zu visualisieren und sicherzustellen, dass sie Ihren Standards entsprechen.
  • Verbessern Sie die Dokumentation: Halten Sie Ihre Dokumentation aktuell und detailliert mit aktuellen Architekturdiagrammen, deren Erstellung nur wenige Minuten dauert.
  • Erkennen von Designfehlern: Visualisieren Sie das Abhängigkeitsdiagramm Ihres Repositorys, um unerwünschte Abhängigkeiten oder Optimierungsbereiche zu identifizieren.
  • Einblicke in die Testabdeckung: Fügen Sie Testdateien in die Eingabe von Swark ein, um die Testabdeckung auf einen Blick zu sehen und Lücken zu schließen.

Wie die Automatische Architekturdiagramme funktionieren

  1. Dateiabruf: Swark ruft Codedateien im ausgewählten Ordner ab. Swark passt die Anzahl der abgerufenen Dateien automatisch an das maximale LLM-Token-Limit an.
  2. Prompt Building: Basierend auf den abgerufenen Dateien erstellt Swark eine Eingabeaufforderung, um ein Architekturdiagramm zu generieren. Die Codedateien sind in der Eingabeaufforderung enthalten, zusammen mit Anweisungen zum Erstellen des Diagramms.
  3. LLM-Anforderung: Swark ruft eine LLM-Anforderung an GitHub Copilot über die VS Code Language Model-API auf.
  4. Diagrammvorschau: Nach erfolgreicher Antwort wird das Diagramm angezeigt. Dies geschieht, indem Sie eine Markdown-Datei erstellen, die das Diagramm in der Mermaid-Syntax enthält, und eine Vorschau anzeigen. Auf Mermaid werde ich sicher später mal mit einem eigenen Beitrag oder Video zurück kommen. Es ist wirklich ein gutes Tool zum Erstellen von einfachen Diagrammen.

Fazit

Die Suche nach der richtigen Softwarearchitektur ist herausfordernd, da sie oft von Missverständnissen und ineffizienten Prozessen begleitet wird. Swark bietet eine vielversprechende Lösung, indem es mithilfe von großen Sprachmodellen (LLMs) automatische Architekturdiagramme aus Code erstellt und so die Visualisierung und das Verständnis komplexer Softwarestrukturen erleichtert. Als kostenlose und Open-Source-Erweiterung ermöglicht es eine nahtlose Integration in VS Code und GitHub Copilot, ohne dass zusätzliche Authentifizierungen oder APIs erforderlich sind. Dies bietet nicht nur eine zeitsparende Möglichkeit, Architektur zu visualisieren, sondern fördert auch eine bessere Dokumentation und hilft, Designfehler oder Optimierungspotenziale schneller zu erkennen. Swark stellt einen praktischen Schritt in Richtung einer effizienteren und verständlicheren Softwarearchitektur dar.

Weitere Beiträge: SOLID und Software Architektur und Entwickler-Hacks: Moderne Befehlszeilentools und erweiterte Git-Befehle

com

Newsletter Anmeldung

Bleiben Sie informiert! Wir informieren Sie über alle neuen Beiträge (max. 1 Mail pro Woche – versprochen)