Sdílet prostřednictvím


CA1720: Identifikátory by neměly obsahovat názvy typů

Vlastnost Hodnota
ID pravidla CA1720
Název Identifikátory by neměly obsahovat názvy typů
Kategorie Pojmenování
Oprava způsobující chybu nebo chybu způsobující chybu Narušující
Povoleno ve výchozím nastavení v .NET 9 No

Příčina

Název parametru v členu obsahuje název datového typu.

nebo

Název člena obsahuje název datového typu specifického pro jazyk.

Ve výchozím nastavení toto pravidlo sleduje jenom externě viditelné členy, ale dá se konfigurovat.

Popis pravidla

Názvy parametrů a členů se lépe používají ke sdělení jejich významu, než k popisu jejich typu, což se očekává, že budou poskytovány vývojářskými nástroji. U názvů členů, pokud je třeba použít název datového typu, použijte místo názvu specifického jazyka název nezávislý na jazyce. Například místo názvu inttypu jazyka C# použijte název datového typu nezávislý na jazyce . Int32

Každý diskrétní token v názvu parametru nebo členu je kontrolován v následujících názvech datových typů specifických pro jazyk způsobem nerozlišujícím malá a velká písmena:

  • Bool
  • WChar
  • Int8
  • UInt8
  • Krátké
  • UShort
  • Int
  • UInt
  • Celé číslo
  • Celé číslo UInteger
  • Dlouhé celé číslo
  • ULong
  • Nepodepsaný
  • Podepsaný
  • Float
  • Float32
  • Float64

Kromě toho se názvy parametru kontrolují také v následujících názvech datových typů nezávislých na jazyce a nerozlišují se malá a velká písmena:

  • Objekt
  • Logická hodnota
  • Char
  • String
  • SByte
  • Byte
  • UByte
  • Int16
  • UInt16
  • Int32
  • UInt32
  • Int64
  • UInt64
  • IntPtr
  • Ptr
  • Ukazatel
  • UInptr
  • UPtr
  • UPointer
  • Jeden
  • Hodnota s dvojitou přesností
  • Desetinné číslo
  • Guid

Jak opravit porušení

Pokud se aktivuje proti parametru:

Nahraďte identifikátor datového typu v názvu parametru výrazem, který lépe popisuje jeho význam, nebo obecnější termín, například "value".

Pokud byl aktivován proti členu:

Nahraďte identifikátor datového typu specifický pro jazyk v názvu člena termínem, který lépe popisuje jeho význam, ekvivalent nezávislý na jazyce nebo obecnější termín, například "value".

Kdy potlačit upozornění

Někdy může být vhodné použít parametr založený na typu a názvy členů. V případě nového vývoje ale nedochází k žádným známým scénářům, ve kterých byste měli potlačit upozornění z tohoto pravidla. U knihoven, které byly dříve odeslány, může být nutné potlačit upozornění z tohoto pravidla.

Potlačení upozornění

Pokud chcete pouze potlačit jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.

#pragma warning disable CA1720
// The code that's violating the rule is on this line.
#pragma warning restore CA1720

Pokud chcete pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost v none konfiguračním souboru.

[*.{cs,vb}]
dotnet_diagnostic.CA1720.severity = none

Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.

Konfigurace kódu pro analýzu

Pomocí následující možnosti nakonfigurujte, ve kterých částech základu kódu se má toto pravidlo spouštět.

Tuto možnost můžete nakonfigurovat jenom pro toto pravidlo, pro všechna pravidla, která platí, nebo pro všechna pravidla v této kategorii (pojmenování), na která platí. Další informace naleznete v tématu Možnosti konfigurace pravidla kvality kódu.

Zahrnutí konkrétních povrchů rozhraní API

Nastavením možnosti api_surface můžete nakonfigurovat, na kterých částech základu kódu se má toto pravidlo spouštět na základě jejich přístupnosti. Pokud chcete například určit, že pravidlo by se mělo spouštět jenom na neveřejné ploše rozhraní API, přidejte do souboru .editorconfig v projektu následující pár klíč-hodnota:

dotnet_code_quality.CAXXXX.api_surface = private, internal

Poznámka

Nahraďte XXXX část CAXXXX ID příslušného pravidla.