Suppressions
CodeGuard kennt drei Mechanismen, um Findings bewusst auszunehmen.
1. Inline-Suppression auf der nächsten Zeile
// codeguard-disable-next-line DateTime-Direct-Usage
var migrationTimestamp = DateTime.UtcNow;
Die Direktive gilt für die unmittelbar folgende Zeile. Der Regel-Slug ist optional, ohne ihn werden alle Regeln auf der nächsten Zeile unterdrückt.
2. Suppression auf derselben Zeile oder Zeile darüber
var migrationTimestamp = DateTime.UtcNow; // codeguard-disable DateTime-Direct-Usage
Oder auf der Zeile darüber:
// codeguard-disable DateTime-Direct-Usage
var migrationTimestamp = DateTime.UtcNow;
3. File-Level-Suppression
Eine Zeile // codeguard-disable irgendwo in der Datei unterdrückt alle
Findings für die gesamte Datei. Sinnvoll bei automatisch generiertem Code
oder Legacy-Files, die ihr aktuell nicht touchen wollt.
// codeguard-disable
namespace Acme.Generated;
Suppressions per Ignore-Datei
Wenn ihr ganze Pfade oder Namespace-Bereiche ausnehmen wollt, geht das
über .codeguardignore im Solution-Root oder pro Projekt-Verzeichnis.
# Regel-Slug: Namespace-Prefix
namespace-distance: Acme.Generated
namespace-distance: Acme.Migrations
# Komplette Pfade aus der Analyse ausnehmen
[exclude]
**/tests/**
**/bin/**
**/obj/**
**/Generated/**
[exclude] ist ein Section-Header für Pfade, die aus der Analyse
komplett ausgenommen werden.
Mehr unter Datei-Struktur.