CodeGuard

Suppressions

Einzelne Findings bewusst ausnehmen, per Code-Kommentar oder Ignore-Datei.

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.