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žnostcsharp_prefer_simple_using_statement
, která umožňuje definovat, jestli dáváte přednost using
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_line
nebonever
.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.0
nebo vyšší hodnotu, případně 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 AnalysisLevel> nebo
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.
-
using
př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 -
var
mož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
typeof
nanameof
(IDE0082) - Odebrání nepotřebného operátoru rovnosti (IDE0100)
- Zjednodušení výrazu LINQ (IDE0120)
- 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í
new
vý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)
Pravidla stylu jazyka Visual Basic:
-
Odebrat
ByVal
(IDE0081) -
Použij porovnávání vzorů (
IsNot
operá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)
Předvolby nového řádku
- Povolit více prázdných řádků (IDE2000)
- Povolit vložené příkazy na stejném řádku (IDE2001)
- Povolit prázdné řádky mezi po sobě jdoucími složenými závorkami (IDE2002)
- Příkaz Allow ihned po bloku (IDE2003)
- Dovolit prázdný řádek za dvojtečkou v inicializátoru konstruktoru (IDE2004)
- Povolit prázdný řádek za tokenem v podmíněném výrazu (IDE2005)
- Povolit prázdný řádek za tokenem ve výrazu šipky (IDE2006)
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ů (
not
operátor) (IDE0083) - Zjednodušení vzoru vlastností (IDE0170)
Předvolby potlačení
Pravidla stylu .NET (C# a Visual Basic):
This.
a me.
předvolby
Pravidla stylu .NET (C# a Visual Basic):
var
možnosti
Pravidla stylu jazyka C#: