Skip to content

Vergleich mit Alternativen

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

Die Matrix listet die Fähigkeiten auf, die CodeCharter mitbringt, und zeigt, wie sich die gängigsten .NET-Code-Quality-Tools dazu verhalten. Jede Zeile ist etwas, das CodeCharter kann; die anderen Spalten geben das reale, aktuelle Verhalten des jeweiligen Tools wieder.

Feature-Matrix

Legende: ✓ = unterstützt, partial = eingeschränkt oder indirekt, ✗ = nicht unterstützt.

Feature CodeCharter Roslyn-Analyzer SonarQube / Cloud NDepend Qodana
Quellcode verlässt die eigene Umgebung nie nur self-hosted ✓ (Ergebnisse gehen an Qodana Cloud)
Kein Server oder Cloud-Backend zu betreiben ✗ (Cloud-Konto; Self-Hosted ist ein Server)
Eigenständige CLI, die man bei Bedarf aufruft ✗ (läuft im Build) ✗ (Scanner braucht einen Server)
Eigene Regeln in einer Text-DSL, ohne C#-Projekt, Build oder NuGet ✗ (Analyzer-Projekt + NuGet) ✗ (Roslyn-Import oder Templates) ✓ (CQLinq) ✗ (FlexInspect / Structural Search)
Browser-Regeleditor mit Live-Validierung und Online-Spec-Check
Eigene Regeln gegen Hit/Miss-Fälle spec-testen, lokal, in CI und im Browser, mit Verlauf
Architektur- und Layering-Regeln in der Regelsprache partial partial
Coupling- und OOP-Metriken (Instabilität, Abstraktheit, Kohäsion) im Modell partial
Baseline-Gate, das nur bei neuen Findings fehlschlägt
Regelprofile zentral verfassen, versionieren und teilen ✓ (Cloud)
Versionierte, signierte Regelprofile mit Offline- / Air-Gap-Bundles
SARIF-, JSON- und GitHub-Annotation-Ausgabe partial (SARIF über Build-ErrorLog) partial (SARIF-Import; eigener Report)
MCP-Server, damit KI-Assistenten Ihre Regeln durchsetzen
Zentrales Audit-Log über Regel-, Profil- und API-Key-Aktivität, als CSV exportierbar ✓ (Enterprise) partial (Cloud-Nutzungs-/Lizenzreporting)
Opt-in-Nutzungs-Insights ohne Quellcode und ohne PII ✓ (Server-Dashboards) ✓ (Dashboards) ✓ (Cloud-Dashboards)
Team-Lizenz (monatlich oder jährlich), kein Per-Seat-Tracking kostenlos / OSS pro Lines of Code pro Seat pro Contributor (ab 3)

Wann CodeCharter die richtige Wahl ist

Wenn Sie eigene Regeln durchsetzen wollen, ohne C#-Analyzer-Projekte zu pflegen. CodeCharter-Regeln liegen in einer Textdatei, ohne Build- oder NuGet-Lifecycle.

Wenn Sie Ihre Regeln wie Code testen wollen. Jede Regel kann Hit/Miss-Spec- Fälle tragen, die lokal, in der CI und im Browser laufen, sodass eine Regeländerung, die das Richtige nicht mehr trifft, sofort auffällt.

Wenn Sie Regeln verfassen wollen, ohne den Browser zu verlassen. Der Portal- Editor validiert die DSL live und führt vor dem Veröffentlichen einen Online-Spec-Check aus.

Wenn Sie Architektur und Layering im Build durchsetzen wollen. Coupling und Abhängigkeiten sind Teil des Modells, und Layering-Regeln werden direkt in der DSL geschrieben.

Wenn Sie Regeln teamübergreifend und in der CI teilen, aber trotzdem abgeschottete Builds brauchen. Profile sind versioniert und signiert und lassen sich als Offline-Bundles nutzen.

Wenn Sie keinen weiteren Server betreiben wollen. Die Analyse läuft lokal, der Quellcode verlässt die eigene Umgebung nie, und es gibt kein Dashboard, keine Datenbank und keinen Lizenzserver, den Sie selbst hosten oder betreiben müssen.

Wenn Sie Pull-Request-Gates auf geänderte Zeilen begrenzen wollen. Mit --diff oder --git-ref gelten die gemeldeten Findings und das Fail-Gate nur für die Zeilen, die eine Änderung berührt, und die GitHub Action kann die Ergebnisse als Annotationen am Pull Request veröffentlichen.

Wenn Sie Regelunterstützung im Editor wollen. Die VS-Code-Erweiterung bringt Vervollständigung, Diagnosen und Spec-Läufe für .cgr-Regeldateien in den Editor und kann den geöffneten Workspace analysieren.

Wenn Sie Team- statt Per-Seat-Lizenzierung wollen. CodeCharter wird pro Team lizenziert, monatlich oder jährlich, ohne Per-Seat-Tracking oder -Reporting.

Alles auf dieser Seite lässt sich mit einer kostenlosen 7-Tage-Testphase ausprobieren, die automatisch bei der Registrierung startet, ohne Angabe von Zahlungsdaten.

Wie es zusammenpasst

CodeCharter ersetzt nicht jedes oben genannte Tool. Ein praxistauglicher Stack für ein typisches .NET-Team:

  • EditorConfig für Stileinstellungen im Editor.
  • Microsoft.CodeAnalysis.NetAnalyzers als Roslyn-Basis für Sprache und Stil.
  • CodeCharter für eigene Konventionen, Architektur und Layering, Komplexitätsschwellen und alles, was über Standard-Regelsätze hinausgeht.

Für den engen Fall von Layering-Zusicherungen innerhalb der Unit-Test-Suite können Sie mit Bibliotheken wie ArchUnitNET und NetArchTest Abhängigkeitsregeln als C#-Tests ausdrücken. Diese Bibliotheken decken den Test-Bibliotheks-Aspekt ab; CodeCharter ergänzt einen eigenständigen Analyzer, eine geteilte Regelsprache, Spec-Tests und CI-Gating darüber hinaus.