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.
Pravidla jazyka ve stylu kódu ovlivňují způsob použití různých konstruktorů programovacích jazyků .NET, například modifikátorů a závorek.
Tato kategorie obsahuje také pravidla, která identifikují části základu kódu, které nejsou nutné a které je možné refaktorovat nebo odebrat. Přítomnost nepotřebného kódu značí jeden nebo několik následujících problémů:
- Čitelnost: Kód, který zbytečně snižuje čitelnost.
- Udržovatelnost: Kód, který se už po refaktoringu nepoužívá a zbytečně se udržuje.
- Výkon: Nepotřebné výpočty, které nemají žádné vedlejší účinky a vedou k zbytečným režijním nákladům na výkon.
- Funkční problém: Funkční problém v kódu, který způsobuje, že požadovaný kód je redundantní. Například IDE0060 označí nepoužívané parametry, kde metoda omylem ignoruje vstupní parametr.
Jazyková pravidla spadají do následujících kategorií:
- Pravidla stylu .NET: Pravidla, která platí pro jazyk C# i Visual Basic. Názvy možností pro tato pravidla začínají předponou
dotnet_style_. - Pravidla stylu jazyka C#: Pravidla specifická pro kód jazyka C#. Názvy možností pro tato pravidla začínají předponou
csharp_style_. - Pravidla stylu jazyka Visual Basic: Pravidla specifická pro kód jazyka Visual Basic. Názvy možností pro tato pravidla začínají předponou
visual_basic_style_.
Formát možnosti
Mnoho pravidel jazyka má jednu nebo více přidružených možností pro přizpůsobení upřednostňovaného stylu. Například, použití jednoduchého příkazu 'using' (IDE0063) má přidruženou možnost, která umožňuje definovat, jestli dáváte přednost csharp_prefer_simple_using_statement deklaraci nebo using příkazu. Pravidlo vynucuje jakékoli možnosti, které si zvolíte na určité úrovni, například upozornění nebo chyba.
Možnosti jazykových pravidel lze zadat v konfiguračním souboru s následujícím formátem:
option_name = value (Visual Studio 2019 a novější)
nebo
option_name = value:severity
Hodnota
Pro každé pravidlo jazyka zadáte hodnotu, která definuje, jestli nebo kdy se má styl preferovat. Mnoho pravidel přijímá hodnotu
true(upřednostňujte tento styl) nebofalse(nepoužívejte tento styl). Jiná pravidla přijímají hodnoty, napříkladwhen_on_single_linenebonever.Závažnost (volitelná ve Visual Studio 2019 a novějších verzích)
Druhá část pravidla určuje úroveň závažnosti pravidla. V .NET 9 a novějších verzích se závažnost vždy respektuje – to znamená v rámci vývojových IDE a během sestavení příkazového řádku. V .NET 8 a starších verzích se toto nastavení závažnosti respektuje pouze v prostředích ID vývoje, jako je Visual Studio, a ne během sestavování.
Pokud používáte sadu .NET 8 SDK nebo starší verzi a chcete, aby se závažnost v době sestavení respektovala, můžete to udělat jedním ze dvou způsobů:
- Nastavte vlastnost
<AnalysisLevel>nebo<AnalysisLevelStyle>na9.0nebo vyšší, nebo napreview. - Místo toho nastavte závažnost pomocí syntaxe konfigurace závažnosti založené na ID pravidla pro analyzátory. Syntaxe má tvar
dotnet_diagnostic.<rule ID>.severity = <severity>, napříkladdotnet_diagnostic.IDE0040.severity = warning. Další informace najdete v tématu Úroveň závažnosti.
- Nastavte vlastnost
Tip
Počínaje sadou Visual Studio 2019 můžete nakonfigurovat pravidla stylu kódu z nabídky Žárovka Rychlých akcí po porušení stylu.
Index pravidla
Jazyková a nepotřebná pravidla kódu jsou dále kategorizována do podkategorií, jako jsou předvolby na úrovni výrazů, předvolby bloku kódu a předvolby modifikátoru.
-
usingpředvolby direktiv - Předvolby bloku kódu
- Členové s tělem tvořeným výrazem
- Předvolby na úrovni výrazů
- Předvolby polí
- Klíčová slova jazyka vs. předvolby typů rozhraní
- Modifikační předvolby
- Předvolby nového řádku
- Předvolby kontroly nulových hodnot
- Předvolby parametrů
- Předvolby závorek
- Předvolby porovnávání vzorů
- Předvolby potlačení
-
This.ame.předvolby -
varmožnosti
using předvolby direktiv
Pravidla stylu .NET (C# a Visual Basic):
Pravidla stylu jazyka C#:
Předvolby kódového bloku
Pravidla stylu jazyka C#:
- Přidání složených závorek (IDE0011)
- Použití jednoduchého příkazu using (IDE0063)
- Předvolby deklarace oboru názvů (IDE0160, IDE0161)
- Odebrání nepotřebného výrazu lambda (IDE0200)
- Převod na příkazy nejvyšší úrovně (IDE0210)
- Převést na program stylu Program.Main (IDE0211)
- Použití primárního konstruktoru (IDE0290)
- Upřednostněte System.Threading.Lock (IDE0330)
Členy s výrazovými těly
Pravidla stylu jazyka C#:
- Použijte tvar výrazu pro konstruktory (IDE0021)
- Použijte tělo výrazu pro metody (IDE0022)
- Použití těla výrazu pro operátory (IDE0023, IDE0024)
- Použijte výrazové tělo pro vlastnosti (IDE0025)
- Použijte výrazové tělo pro indexery (IDE0026)
- Použijte výrazové tělo pro přístupory (IDE0027)
- Použití textu výrazu pro lambda (IDE0053)
- Použití textu výrazu pro místní funkce (IDE0061)
Předvolby na úrovni výrazů
Pravidla stylu .NET (C# a Visual Basic):
- Zjednodušení názvu (IDE0001)
- Zjednodušení přístupu členů (IDE0002)
- Odebrání nepotřebného přetypování (IDE0004)
- Přidání chybějících případů do příkazu switch (IDE0010)
- Použití inicializátorů objektů (IDE0017)
- Použijte inicializátory kolekcí (IDE0028)
- Kontrola null může být zjednodušená (IDE0029, IDE0030, IDE0270)
- Použijte propagaci null (IDE0031)
- Použití automaticky implementované vlastnosti (IDE0032)
- Použití explicitně zadaného názvu řazené kolekce členů (IDE0033)
- Odebrání nedostupného kódu (IDE0035)
- Použití odvozených názvů členů (IDE0037)
- Použijte kontrolu 'is null' (IDE0041)
- Použití podmíněného výrazu pro přiřazení (IDE0045)
- Použijte podmíněný výraz pro návrat (IDE0046)
- Převod anonymního typu na řazenou kolekci členů (IDE0050)
- Odebrání nepoužívaného soukromého člena (IDE0051)
- Odstranit nepřečteného soukromého člena (IDE0052)
- Použití složeného přiřazení (IDE0054, IDE0074)
- Odstraňte nepotřebnou hodnotu výrazu (IDE0058)
- Odebrání nepotřebného přiřazení hodnoty (IDE0059)
- Použijte 'System.HashCode.Combine' (IDE0070)
- Zjednodušení interpolace (IDE0071)
- Zjednodušení podmíněného výrazu (IDE0075)
-
Převést
typeofnanameof(IDE0082) - Odebrání nepotřebného operátoru rovnosti (IDE0100)
- Zjednodušení výrazu LINQ (IDE0120)
- Zjednodušení ověřování a přetypování typu LINQ (IDE0121)
- Obor názvů neodpovídá struktuře složek (IDE0130)
Pravidla stylu jazyka C#:
- Použití výrazu throw (IDE0016)
- Deklarace vložené proměnné (IDE0018)
- Zjednodušení výchozího výrazu (IDE0034)
- Místo lambda (IDE0039) použijte místní funkci.
- Deklarace dekonstrukční proměnné (IDE0042)
- Použití operátoru indexu (IDE0056)
- Použití operátoru rozsahu (IDE0057)
- Přidání chybějících případů do výrazu switch (IDE0072)
- Odebrání nepotřebného operátoru potlačení (IDE0080)
-
Zjednodušení
newvýrazu (IDE0090) - Odstraňte zbytečné vyřazení (IDE0110)
- Upřednostnit kontrolu typu null (IDE0150)
- Prohození hodnot pomocí n-tice (IDE0180)
- Přidání explicitního přetypování ve smyčce foreach (IDE0220)
- Použijte řetězcový literál UTF-8 (IDE0230)
- Direktiva ‘nullable’ je nadbytečná (IDE0240)
- Direktiva s možnou hodnotou null není nutná (IDE0241)
- Použití výrazu kolekce pro pole (IDE0300)
- Použijte výraz kolekce pro prázdné případy (IDE0301)
- Použití výrazu pro kolekci pro alokaci zásobníku (IDE0302)
-
Použijte výraz kolekce pro
Create()(IDE0303) - Použití výrazu kolekce pro tvůrce (IDE0304)
- Použití výrazu kolekce pro fluent (IDE0305)
- Použití výrazu kolekce pro nové (IDE0306)
- Použití nevázaného obecného typu (IDE0340)
- Použijte implicitně typovanou lambda funkci (IDE0350)
- Zjednodušení přístupového objektu vlastností (IDE0360)
Pravidla stylu jazyka Visual Basic:
-
Odebrat
ByVal(IDE0081) -
Použij porovnávání vzorů (
IsNotoperátor) (IDE0084) - Zjednodušení vytváření objektů (IDE0140)
Předvolby polí
Pravidla stylu .NET (C# a Visual Basic):
Klíčová slova jazyka vs. předvolby typů rozhraní
Pravidla stylu .NET (C# a Visual Basic):
Předvolby modifikátorů
Pravidla stylu .NET (C# a Visual Basic):
Pravidla stylu jazyka C#:
- Nastavení místní funkce jako statické (IDE0062)
- Vytváření zapisovatelných polí struktury (IDE0064)
- Strukturu lze označit jako 'readonly' (IDE0250)
- Člen může být nastaven jako "pouze pro čtení" (IDE0251)
- Nastavení anonymní funkce jako statické (IDE0320)
-
Odebrání nepotřebného
unsafemodifikátoru (IDE0380)
Předvolby nového řádku
Pravidla stylu .NET (C# a Visual Basic):
- Vyhněte se více prázdným řádkům (IDE2000)†
- Prázdný řádek vyžadovaný mezi blokem a následným příkazem (IDE2003)†
Pravidla stylu jazyka C#:
- Vložené příkazy musí být na vlastním řádku (IDE2001)†
- Po sobě jdoucí složené závorky nesmí obsahovat prázdný řádek (IDE2002)†
- Po dvojtečce inicializátoru konstruktoru není povolen prázdný řádek (IDE2004)
- Prázdný řádek není povolen za tokenem podmíněného výrazu (IDE2005)†
- Prázdný řádek není povolen za tokenem klauzule výrazu šipky (IDE2006)†
†Tyž jsou experimentální pravidla a můžou se změnit nebo odebrat.
Předvolby kontroly nulových hodnot
Pravidla stylu jazyka C#:
Předvolby parametrů
Pravidla stylu .NET (C# a Visual Basic):
Předvolby závorek
Pravidla stylu .NET (C# a Visual Basic):
Předvolby porovnávání vzorů
Pravidla stylu jazyka C#:
- Použití porovnávání vzorů, abyste se vyhnuli kontrole null (IDE0019).
- Použití porovnávání vzorů, abyste se vyhnuli kontrole "is" následovanou přetypováním (IDE0020, IDE0038)
- Použít výraz switch (IDE0066)
- Použití porovnávání vzorů (IDE0078 a IDE0260)
-
Použijte porovnávání vzorů (
notoperátor) (IDE0083) - Zjednodušení vzoru vlastností (IDE0170)
Předvolby potlačení
Pravidla stylu .NET (C# a Visual Basic):
Pravidla stylu jazyka C#:
This. a me. předvolby
Pravidla stylu .NET (C# a Visual Basic):
var možnosti
Pravidla stylu jazyka C#: