CodeGuard

Vergleich mit Alternativen

Wie CodeGuard sich gegenüber Roslyn-Analyzern, SonarQube und NDepend positioniert.

Vergleich mit Alternativen

Die folgende Matrix zeigt, welche Eigenschaften CodeGuard mitbringt und wie das im Vergleich zu den verbreiteten .NET-Code-Quality-Werkzeugen aussieht.

Eigenschaften-Matrix

Eigenschaft CodeGuard Roslyn-Analyzer SonarQube NDepend
Source-Code bleibt lokal je nach Hosting
100+ eingebaute Regeln out-of-the-box nein (Pakete einzeln einbinden)
Eigene Regeln ohne Build- oder NuGet-Lifecycle nein nein ✓ (CQLinq)
Coupling- und Architektur-Metriken im Schema nein teilweise
OOP-Metriken (Abstractness, Instability, Cohesion) nein teilweise
Multi-Plattform-CLI ohne installiertes SDK nein nein nein
SARIF-Output für GitHub Code Scanning und GitLab SAST nein nein
GitHub-Annotations als PR-Inline-Kommentare nein nein
Determinismus garantiert
Kein Self-Hosted-Server nötig nein
Per-Team-Lizenz statt Per-Seat OSS LOC-basiert Per-Seat

Wann CodeGuard die richtige Wahl ist

Wenn ihr eigene Regeln durchsetzen wollt ohne C#-Analyzer-Projekte zu pflegen. CodeGuard-Regeln stehen in einer Textdatei, ohne Build-Lifecycle.

Wenn ihr Architektur und Layering im Build erzwingen wollt. Coupling und Abhängigkeiten sind im Schema verfügbar, Layering-Regeln formuliert ihr direkt.

Wenn ihr keinen Cloud-Service nutzen wollt. Die Analyse läuft lokal, Source-Code verlässt eure Umgebung nicht.

Wenn ihr keinen weiteren Server betreiben wollt. Kein Dashboard, keine Datenbank, keine Lizenz-Verwaltung im eigenen Betrieb.

Wenn ihr Team-Lizenzen euer Buchhaltungs-Overhead-Limit überschreitet. CodeGuard lizenziert pro Team und Jahr, ohne Per-Seat-Reporting.

Wie es zusammenspielt

CodeGuard ersetzt nicht jedes der genannten Werkzeuge. Ein praxisnaher Stack für ein typisches .NET-Team:

  • EditorConfig für Stil-Settings im Editor.
  • Microsoft.CodeAnalysis.NetAnalyzers als Roslyn-Basis-Set.
  • CodeGuard für eigene Konventionen, Architektur, Komplexitäts-Schwellen und alle Regeln, die über Standard-Sets hinausgehen.

EditorConfig und Roslyn-Analyzer kümmern sich um Sprache und Stil, CodeGuard um team-spezifische Substanz.