Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| Majetek (or Nemovitost, depending on context) | Hodnota |
|---|---|
| ID pravidla | CA1711 |
| Název | Identifikátory by neměly mít nesprávnou příponu |
| Kategorie | Pojmenování |
| Oprava může být přerušením nebo nepřerušením | Přerušení |
| Povoleno ve výchozím nastavení v .NET 10 | Ne |
Příčina
Identifikátor nemá správnou příponu.
Ve výchozím nastavení toto pravidlo sleduje jenom externě viditelné identifikátory, ale dá se konfigurovat.
Popis pravidla
Pouze názvy typů, které rozšiřují určité základní typy nebo které implementují určitá rozhraní, nebo typů odvozených z těchto typů by podle konvence měly končit určitými vyhrazenými příponami. Jiné názvy typů by neměly používat tyto vyhrazené přípony.
Následující tabulka uvádí rezervované přípony a základní typy a rozhraní, ke kterým jsou přidruženy.
| Přípona | Základní typ/rozhraní |
|---|---|
Attribute |
System.Attribute |
Collection |
System.Collections.ICollection System.Collections.IEnumerable System.Collections.Queue System.Collections.Stack System.Collections.Generic.ICollection<T> System.Data.DataSet System.Data.DataTable |
Dictionary |
System.Collections.IDictionary System.Collections.Generic.IDictionary<TKey,TValue> |
EventArgs |
System.EventArgs |
EventHandler |
Delegát procedury události |
Exception |
System.Exception |
Permission |
System.Security.IPermission |
Queue |
System.Collections.Queue |
Stack |
System.Collections.Stack |
Stream |
System.IO.Stream |
Kromě toho by se neměly používat následující přípony:
DelegateEnum-
Exnebo podobnou příponu k odlišení od starší verze stejného typu -
FlagneboFlagspro typy výčtu -
Impl(místo toho použijteCore) -
New, pokud již existuje člen se stejným názvem, ale bez příponyNew.
Konvence názvosloví poskytují společný vzhled knihoven, které cílí na modul .NET Common Language Runtime. Tyto konvence snižují křivku učení, která je nutná pro nové softwarové knihovny, a zvyšují důvěru zákazníků, že knihovnu vyvinul někdo s odbornými znalostmi při vývoji spravovaného kódu. Další informace naleznete v tématu Pokyny pro pojmenování: třídy, struktury a rozhraní.
Jak opravit porušení
Odeberte příponu z názvu typu.
Example
class BadEmployeeCollection { } // Violates CA1711
// Good
class Employee { }
class GoodEmployeeCollection : ICollection<Employee>
{
// Implementations
}
class Employees { } // Good
Kdy potlačit upozornění
Nepotlačujte upozornění tohoto pravidla, pokud přípona nemá v doméně aplikace jednoznačný význam.
Potlačte 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 CA1711
// The code that's violating the rule is on this line.
#pragma warning restore CA1711
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.CA1711.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ích možností můžete nakonfigurovat, pro které části základu kódu se má toto pravidlo spouštět.
Tyto možnosti můžete nakonfigurovat jenom pro toto pravidlo, pro všechna pravidla, která platí pro, nebo pro všechna pravidla v této kategorii (pojmenování), na která se vztahují. 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 část XXXX v CAXXXX ID příslušného pravidla.
Povolit přípony
Můžete nakonfigurovat seznam povolených přípon s každou příponou oddělenou znakem svislé roury (|). Pokud chcete například určit, že by se pravidlo nemělo spouštět proti příponám Flag a Flags, přidejte do souboru .editorconfig v projektu následující dvojici klíč-hodnota:
dotnet_code_quality.ca1711.allowed_suffixes = Flag|Flags