CodeGuard

Erste Analyse in 5 Minuten

Von "noch nie gesehen" zu "läuft auf eurer Solution" in fünf Minuten.

Erste Analyse in 5 Minuten

Dieser Leitfaden geht davon aus dass du einen aktiven Account hast (siehe Registrierung und Trial) und die CLI lokal verfügbar ist (siehe Windows-Installer oder Standalone-CLI).

Wir laufen das ganze auf einer echten Solution durch, ohne erst eigene Regeln zu schreiben, die mitgelieferten Default-Pakete reichen für den ersten Lauf.

1. CLI testen

codeguard --version

Wenn das eine Versionsnummer ausgibt, ist die CLI verfügbar. Bekommst du "command not found", siehe Installation.

2. In dein Solution-Verzeichnis wechseln

cd ~/code/your-solution
ls *.sln

CodeGuard analysiert auf Solution-Ebene. Wenn keine .sln-Datei vorhanden ist, kannst du auf ein einzelnes Projekt zeigen, aber Solution ist der Default-Fall.

3. Default-Regelpaket aktivieren

Ohne .codeguard-Verzeichnis im Repo lädt die CLI eine Default-Konfiguration mit den eingebauten Regelpaketen. Wenn ihr eure eigene Konfiguration habt, landet sie typisch unter .codeguard/ im Repo-Root.

Für den ersten Lauf brauchst du nichts vorbereiten, die Default-Pakete sind eingebaut.

4. Analyse starten

codeguard analyze . --output console

Das scannt deine Solution gegen die eingebauten Regeln. Auf einer mittelgrossen Codebasis dauert das beim ersten Mal 20-60 Sekunden, danach mit Cache wenige Sekunden.

Du siehst etwas wie:

CodeGuard 1.4.0
Analyzing src/Acme.Web/Acme.Web.sln (124 projects)

Acme.Web/Controllers/ProductsController.cs:42
    [warn] Async-Method-Without-CancellationToken
    Add 'CancellationToken cancellationToken = default' as the last parameter

Acme.Web/Services/PriceCalculator.cs:18
    [warn] DateTime-Direct-Usage
    Inject TimeProvider via constructor and call GetUtcNow()

...

Done in 28.4s. 17 findings (3 errors, 14 warnings)

Wenn das Exit-Code 0 ist (nur Warnungen, keine Errors), bist du erfolgreich durchgekommen.

5. JSON-Output für weitere Verarbeitung

codeguard analyze . --output json --output-file findings.json

Das schreibt eine maschinenlesbare Datei. Format-Details unter Output-Formate.

Was als nächstes