CA1707: Identifierare bör inte innehålla understreck
Property | Värde |
---|---|
Regel-ID | CA1707 |
Title | Identifierare får inte innehålla understreck |
Kategori | Namngivning |
Korrigeringen är icke-bakåtkompatibel | Breaking – när det höjs på sammansättningar Icke-icke-bakåtkompatibel – när den aktiveras på typparametrar |
Aktiverad som standard i .NET 9 | Nej |
Orsak
Namnet på en identifierare innehåller understrecket (_).
Regelbeskrivning
Enligt konventionen innehåller identifierarnamn inte understrecket (_). Regeln kontrollerar namnområden, typer, medlemmar och parametrar.
Namngivningskonventioner ger ett vanligt utseende för bibliotek som riktar sig till den gemensamma språkkörningen. Detta minskar inlärningskurvan som krävs för nya programvarubibliotek och ökar kundernas förtroende för att biblioteket har utvecklats av någon som har kunskaper om att utveckla hanterad kod.
Så här åtgärdar du överträdelser
Ta bort alla understreckstecken från namnet.
När du ska ignorera varningar
Ignorera inte varningar för produktionskod. Det är dock säkert att utelämna den här varningen för testkoden.
Ignorera en varning
Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och aktiverar sedan regeln igen.
#pragma warning disable CA1707
// The code that's violating the rule is on this line.
#pragma warning restore CA1707
Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none
i konfigurationsfilen.
[*.{cs,vb}]
dotnet_diagnostic.CA1707.severity = none
Mer information finns i Så här utelämnar du kodanalysvarningar.
För välkända metoder i Microsoft-kod som för närvarande använder ett understreck och inte kan ändras bör regeln ignoreras.
Konfigurera kod för analys
Använd följande alternativ för att konfigurera vilka delar av kodbasen som regeln ska köras på.
Du kan konfigurera det här alternativet för bara den här regeln, för alla regler som den gäller för eller för alla regler i den här kategorin (namngivning) som den gäller för. Mer information finns i Konfigurationsalternativ för kodkvalitetsregel.
Inkludera specifika API-ytor
Du kan konfigurera vilka delar av kodbasen som ska köras med den här regeln baserat på deras tillgänglighet. Om du till exempel vill ange att regeln endast ska köras mot den icke-offentliga API-ytan lägger du till följande nyckel/värde-par i en .editorconfig-fil i projektet:
dotnet_code_quality.CAXXXX.api_surface = private, internal