Glossar
Begriffe die im Wiki, in der CLI-Ausgabe oder im Portal auftauchen, kurz erklärt.
API-Key
Ein langer, geheimer String den du im Portal unter API Keys erzeugst und in eurer CI als Secret hinterlegst. Authentifiziert die GitHub Action gegen den Portal-Download-Endpoint. Mehr unter API-Keys verwalten.
Cgr-Datei
Die Dateiendung für CodeGuard-Regeln. Eine .cgr-Datei enthält
Metadaten (@name, @severity, ...) und eine LINQ-Query gegen
das Schema. Siehe Datei-Struktur.
Channel
Release-Channel der CodeGuard-Distributionen: Stable für geprüfte Releases und Edge für frühe Vorab-Versionen.
CLI
Die Standalone-Kommandozeilen-Variante von CodeGuard. Liegt als selbst-enthaltenes Binary für Windows, Linux und macOS vor, läuft ohne installiertes .NET-Runtime.
CodeGuard-DSL
Die kleine LINQ-ähnliche Sprache in der eigene Regeln geschrieben werden. Siehe DSL-Referenz.
Determinismus
CodeGuard-Eigenschaft: gleicher Source-Code und gleiche Regelmenge ergeben jedes Mal exakt die gleichen Findings, unabhängig von Rechner, Tageszeit oder Systemlast. Siehe Determinismus und Caching.
Finding
Ein konkreter Verstoß gegen eine Regel an einer konkreten Stelle im Code. Hat eine Severity (info, warn, error), einen Dateipfad, eine Zeilennummer und einen Link zur Regel-Beschreibung.
GitHub Action
Die offizielle CI-Integration bochmann-software/codeguard@v1. Wraps
die CLI, holt sie aus dem Portal mit eurem API-Key, läuft die Analyse
und veröffentlicht Findings als PR-Annotations.
Rule-Pack
Eine Gruppe verwandter Regeln, ausgeliefert als Verzeichnis von
.cgr-Dateien. CodeGuard kommt mit eingebauten Packs (ASP.NET, Async,
Naming, ...). Eigene Packs könnt ihr beliebig dazu schreiben.
SARIF
Static Analysis Results Interchange Format, JSON-basierter Standard für Code-Analyse-Tools. CodeGuard kann SARIF v2.1 ausgeben, wird von GitHub Code Scanning und GitLab SAST nativ konsumiert.
Selector
Der erste Teil einer Regel-Query, der bestimmt welche Code-Elemente
geprüft werden: from t in Types, from m in Methods und so weiter.
Severity
Schweregrad eines Findings. CodeGuard kennt drei Stufen:
info. Hinweis, blockiert nichtswarn. Warnung, blockiert per Default nichterror. Fehler, blockiert den Build je nach Konfiguration
Subscription
Die kommerzielle Lizenz die ihr für CodeGuard habt. Steuert ob ihr Downloads aus dem Portal pullen dürft. Trial, Team Small, Team, Team Plus oder Enterprise. Siehe Plan-Übersicht.
Suppression
Eine bewusste Ausnahme zu einer Regel an einer konkreten Stelle. Kann inline per Kommentar oder zentral in einer Konfigdatei stehen. Mehr unter Suppressions.
SyntaxIssue
Ein vom Analyzer vorbereiteter, semantisch erkannter Code-Befund, etwa
"DateTime.Now wurde direkt aufgerufen". Die DSL kann auf diese Befunde
zugreifen über SyntaxIssues.Where(s => s.Kind == "...").
TimeProvider
Ab .NET 8 die offizielle Abstraktion über die Systemuhr. CodeGuard
empfiehlt sie statt direkter DateTime.Now-Aufrufe, und prüft es
mit einer eingebauten Regel.
Trial
Der 7-tägige kostenlose Vollzugriff den jeder neue Account beim Registrieren bekommt. Siehe Registrierung und Trial.
VSIX
Die VS-Code-Extension-Datei. Wird über das Portal als Download angeboten und installiert die CodeGuard-Extension im Editor.
Waiver
Synonym zu Suppression, wir nutzen beides austauschbar.