Sdílet prostřednictvím


Pravidla stylu kódu

Analýza stylu kódu .NET poskytuje pravidla, která mají za cíl zachovat konzistentní styl v základu kódu. Tato pravidla mají v ID pravidla předponu IDE.

Pravidla stylu kódu jsou uspořádaná do následujících podkategorií:

  • Jazyková a nepotřebná pravidla kódu

    Pravidla, která se týkají jazyka C# nebo Jazyka Visual Basic. Můžete například určit pravidla, která se vztahují k použití var při definování proměnných nebo zda jsou upřednostňované členy typu výraz. Tato kategorie obsahuje také pravidla, která hledají nepotřebný kód, například nedostupný kód v rámci metod nebo nepoužitých privátních polí, vlastností nebo metod.

  • Pravidla formátování

    Pravidla, která se týkají rozložení a struktury kódu, aby se snadněji četla. Můžete například zadat možnost formátování, která definuje, zda jsou mezery v řídicích blocích upřednostňované nebo ne.

  • pravidla pojmenování

    Pravidla, která se týkají pojmenování prvků kódu Můžete například zadat, že async názvy metod musí mít příponu "Async".

  • Různá pravidla

    Pravidla, která nepatří do jiných kategorií.

Rejstřík

V následující tabulce jsou uvedená všechna pravidla stylu kódu podle ID a možností, pokud existuje.

ID pravidla Nadpis Možnost
IDE0001 Zjednodušení názvu
IDE0002 Zjednodušení přístupu členů
IDE0003 Odebrání this nebo Me kvalifikace dotnet_styl_kvalifikace_pro_pole
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0004 Odebrání nepotřebného přetypování
IDE0005 Odebrání nepotřebného importu
IDE0007 Použít var místo explicitního typu csharp_style_var_for_built_in_types
csharp_styl_var_když_je_typ_zjevný
csharp_style_var_elsewhere
IDE0008 Použít explicitní typ místo var csharp_style_var_for_built_in_types
csharp_styl_var_když_je_typ_zjevný
csharp_style_var_elsewhere
IDE0009 Přidání this nebo Me kvalifikace dotnet_styl_kvalifikace_pro_pole
dotnet_style_qualification_for_property
dotnet_style_kvalifikace_pro_metodu
dotnet_style_qualification_for_event
IDE0010 Přidání chybějících případů do příkazu switch
IDE0011 Přidání složených závorek csharp_prefer_braces
IDE0016 Použití výrazu throw csharp_style_throw_expression
IDE0017 Použití inicializátorů objektů dotnet_style_object_initializer
IDE0018 Deklarace vložené proměnné csharp_style_inlined_variable_declaration
IDE0019 Použití porovnávání vzorů, abyste se vyhnuli asnull kontrole styl_csharp_porovnávání_vzorců_nad_as_s_kontrolou_null
IDE0020 Použití porovnávání vzorů, abyste se vyhnuli is kontrole následované přetypováním (s proměnnou) csharp_styl_vzorového_rozpoznávání_přes_is_with_cast_check
IDE0021 Použití textu výrazu pro konstruktory csharp_style_expression_bodied_constructors
IDE0022 Použití textu výrazu pro metody csharp_styl_metody_vyjadřovaných_tělem_výrazu
IDE0023 Použití textu výrazu pro operátory převodu styl výrazu csharp_bodied_operátory
IDE0024 Použití textu výrazu pro operátory styl výrazu csharp_bodied_operátory
IDE0025 Použití textu výrazu pro vlastnosti csharp_style_expression_bodied_properties
IDE0026 Použití textu výrazu pro indexery styl_výrazově_tělových_indexerů_v_CSharp
IDE0027 Použití textu výrazu pro přístupové objekty csharp_style_expression_bodied_accessors
IDE0028 Použití inicializátorů kolekcí dotnet_style_collection_initializer
dotnet_style_prefer_collection_expression
IDE0029 Kontrola null může být zjednodušená. dotnet_style_coalesce_expression
IDE0030 Kontrola null může být zjednodušená. dotnet_style_coalesce_expression
IDE0031 Použití šíření hodnoty null dotnet_style_null_propagation
IDE0032 Použít automatickou vlastnost dotnet_style_prefer_auto_properties
IDE0033 Použití explicitně zadaného názvu řazené kolekce členů dotnet_style_explicit_tuple_names
IDE0034 Zjednodušení default výrazu csharp_prefer_simple_default_expression - přednost jednoduchého výchozího výrazu
IDE0035 Odebrání nedosažitelného kódu
IDE0036 Modifikátory pořadí csharp_preferred_modifier_order
preferovaný_pořadí_modifierů_visual_basic
IDE0037 Použít odvozený název člena dotnet_style_prefer_inferred_tuple_names
dotnet_style_prefer_inferred_anonymous_type_member_names
IDE0038 Použití porovnávání vzorů, abyste se vyhnuli is kontrole následované přetypováním (bez proměnné) csharp_styl_vzorového_rozpoznávání_přes_is_with_cast_check
IDE0039 Použití místní funkce místo lambda csharp_style_prefer_local_over_anonymous_function
IDE0040 Přidání modifikátorů přístupnosti dotnet_style_požadovat_modifikátory_přístupnosti
IDE0041 Použití je kontrola null dotnet_style_prefer_is_null_check_over_reference_equality_method (Preferuje kontrolu is null před metodou porovnání pomocí Reference)
IDE0042 Deklarace dekonstrukční proměnné styl_csharp_pro_dekonstruovanou_proměnnou_deklaraci
IDE0044 Přidání modifikátoru jen pro čtení dotnet_style_readonly_field
IDE0045 Použití podmíněného výrazu pro přiřazení dotnet_styl_preferovat_dotazovací_výraz_nad_přiřazením
IDE0046 Použití podmíněného výrazu pro vrácení dotnet_style_prefer_conditional_expression_over_return
IDE0047 Odebrání nepotřebných závorek dotnet_styl_závorky_v_aritmetických_binárních_operátorech
dotnet_style_parentheses_in_relational_binary_operators
styl_dotnet_závorky_v_jiných_binárních_operátorech
styl závorek v jiných operátorech dotnet
IDE0048 Přidání závorek pro přehlednost dotnet_styl_závorky_v_aritmetických_binárních_operátorech
dotnet_style_parentheses_in_relational_binary_operators
styl_dotnet_závorky_v_jiných_binárních_operátorech
styl závorek v jiných operátorech dotnet
IDE0049 Použití klíčových slov jazyka místo názvů typů rozhraní pro odkazy na typy dotnet_style_predefined_type_for_locals_parameters_members
dotnet_style_predefined_type_for_member_access
IDE0050 Převedení anonymního typu na řazenou kolekci členů
IDE0051 Odebrání nepoužívaného soukromého člena
IDE0052 Odebrání nepřečteného soukromého člena
IDE0053 Použití textu výrazu pro lambda csharp_style_expression_bodied_lambdas
IDE0054 Použití složeného přiřazení dotnet_styl_preferovat_složené_přiřazení
IDE0055 Oprava formátování (Tady je příliš mnoho na seznam. Viz možnosti formátování .NET a možnosti formátování jazyka C#.)
IDE0056 Použití operátoru indexu csharp_style_prefer_index_operator (preferuje použití indexového operátoru)
IDE0057 Použití operátoru rozsahu csharp_style_prefer_range_operator (preferovat rozsahový operátor)
IDE0058 Odebrání hodnoty nepoužívaného výrazu nastavení_výrazu_použití_hodnoty_csharp_stylu
preferenční_nastavení_visual_basic_pro_výrazy_bez_využití_hodnoty
IDE0059 Odebrání nepotřebného přiřazení hodnoty csharp_style_unused_value_assignment_preference
Nastavení_předvoleb_nepoužitých_přiřazení_hodnot_v_visual_basic
IDE0060 Odebrání nepoužívaného parametru dotnet_code_quality_unused_parameters (kvalita kódu dotnet - nepoužité parametry)
IDE0061 Použití textu výrazu pro místní funkce csharp_styl_výraz_tělo_lokální_funkce
IDE0062 Nastavení místní funkce static csharp_preferovat_statickou_lokální_funkci
IDE0063 Použití jednoduchého using příkazu csharp_prefer_simple_using_statement prefers jednoduché použití příkazů
IDE0064 Nastavení zapisovatelných polí struktury
IDE0065 using umístění direktiv csharp_using_directive_placement
IDE0066 Použití výrazu switch csharp_style_prefer_switch_expression (upřednostňovat výraz switch v C# stylu)
IDE0070 Použití System.HashCode.Combine
IDE0071 Zjednodušení interpolace dotnet_style_prefer_simplified_interpolation
IDE0072 Přidání chybějících případů do výrazu switch
IDE0073 Použití hlavičky souboru šablona_hlavicky_souboru
IDE0074 Použití složeného přiřazení slouhou dotnet_styl_preferovat_složené_přiřazení
IDE0075 Zjednodušení logických výrazů dotnet_style_prefer_simplified_boolean_expressions
IDE0076 Odebrání neplatného globálního SuppressMessageAttribute
IDE0077 Vyhněte se cíli starší verze formátu v globálním prostředí SuppressMessageAttribute
IDE0078 Použití porovnávání vzorů csharp_style_prefer_pattern_matching (Styl C#, upřednostnit srovnávací vzory)
IDE0079 Odebrání nepotřebného potlačení dotnet_remove_unnecessary_suppression_exclusions (odebrat zbytečné výjimky potlačení)
IDE0080 Odebrání nepotřebného operátoru potlačení
IDE0081 Odebrání ByVal
IDE0082 Převést typeof na nameof
IDE0083 Použití porovnávání vzorů (not operátor) csharp_styl_preferovat_ne_vzor
IDE0084 Použití porovnávání vzorů (IsNot operátor) styl_visual_basic_preferující_výraz_isnot
IDE0090 Zjednodušení new výrazu csharp_style_implicit_object_creation_when_type_is_apparent (implicitní vytváření objektů v C# stylu, pokud je zřejmý typ)
IDE0100 Odebrání nepotřebného operátoru rovnosti
IDE0110 Odebrání nepotřebné proměnné typu discard
IDE0120 Zjednodušení výrazu LINQ
IDE0121 Zjednodušení kontroly typu a přetypování v LINQ
IDE0130 Obor názvů neodpovídá struktuře složek dotnet_style_namespace_match_folder
IDE0140 Zjednodušení vytváření objektů styl_visual_basic_preferován_pro_zjednodušení_tvorby_objektu
IDE0150 Preferujte null kontrolu typu. csharp_styl_upřednostňuje_kontrolu_null_nad_kontrolou_typu
IDE0160 Použití oboru názvů s oborem bloku csharp_style_namespace_declarations (deklarace oboru názvů ve stylu csharp)
IDE0161 Použití oboru názvů s oborem souborů csharp_style_namespace_declarations
IDE0170 Zjednodušení vzoru vlastností styl_cs_pro_csharp_preferovaný_rozšířený_vzor_vlastnosti
IDE0180 Prohození hodnot pomocí řazené kolekce členů csharp_style_prefer_tuple_swap
IDE0200 Odebrání nepotřebného výrazu lambda csharp_styl_preferovat_konverzi_skupiny_metod
IDE0210 Převod na příkazy nejvyšší úrovně csharp_style_prefer_top_level_statements
IDE0211 Převést na program stylu Program.Main csharp_style_prefer_top_level_statements
IDE0220 Přidání explicitního přetypování ve smyčce foreach dotnet_style_prefer_foreach_explicit_cast_in_source
IDE0230 Použití řetězcového literálu UTF-8 csharp_style_prefer_utf8_string_literals (preferuje používání UTF-8 řetězových literálů v C#)
IDE0240 Direktiva s možnou hodnotou null je redundantní
IDE0241 Direktiva s možnou hodnotou null není nutná.
IDE0250 Strukturu lze provést jen pro čtení. csharp_style_prefer_readonly_struct
IDE0251 Člen může být "jen pro čtení". csharp_style_prefer_readonly_struct_member
IDE0260 Použití porovnávání vzorů styl_csharp_porovnávání_vzorců_nad_as_s_kontrolou_null
IDE0270 Kontrola null může být zjednodušená. dotnet_style_coalesce_expression
IDE0280 Použití nameof
IDE0290 Použití primárního konstruktoru csharp_style_prefer_primary_constructors
IDE0300 Použití výrazu kolekce pro pole dotnet_style_prefer_collection_expression
IDE0301 Použití výrazu kolekce pro prázdné dotnet_style_prefer_collection_expression
IDE0302 Použití výrazu kolekce pro stackalloc dotnet_style_prefer_collection_expression
IDE0303 Použití výrazu kolekce pro Create() dotnet_style_prefer_collection_expression
IDE0304 Použití výrazu kolekce pro tvůrce dotnet_style_prefer_collection_expression
IDE0305 Použití výrazu kolekce pro fluent dotnet_style_prefer_collection_expression
IDE0306 Využití výrazu kolekce pro novou dotnet_style_prefer_collection_expression
IDE0320 Nastavit anonymní funkci static csharp_prefer_static_anonymous_function (preferovat statickou anonymní funkci v C#)
IDE0330 Preferovat 'System.Threading.Lock' csharp_prefer_system_threading_lock
IDE0340 Použití nevázaného obecného typu csharp_přístup_preferovat_nevázaný_obecný_typ_v_nameof
IDE0350 Použijte implicitně typovaný lambda výraz csharp_style_prefer_implicitly_typed_lambda_expression - Preference pro implicitně typované lambda výrazy v C# stylu
IDE1005 Použití podmíněného volání delegáta csharp_styl_podmíněného_volání_delegáta
IDE1006 Styly pojmenování
IDE3000 Implementace s funkcí Copilot

Poznámka:

Existují určitá pravidla, která se zobrazí pouze v integrovaném vývojovém prostředí sady Visual Studio, a tato pravidla se týkají řetězců vzorů JSON a regulárních výrazů. Další informace najdete v tématu JSON001, JSON002 a RE0001.

Legenda:

Následující tabulka uvádí typ informací, které jsou k dispozici pro každé pravidlo v referenční dokumentaci.

Položka Popis
ID pravidla Jedinečný identifikátor pravidla. Slouží ke konfiguraci závažnosti pravidla a potlačení upozornění v souboru kódu.
Titul Název pravidla.
Kategorie Kategorie pravidla.
Podkategorie Podkategorie pravidla, jako jsou pravidla jazyka, pravidla formátování nebo pravidla pojmenování.
Příslušné jazyky Příslušné jazyky .NET (C# nebo Visual Basic) spolu s minimální jazykovou verzí(pokud je k dispozici).
Představená verze Verze sady .NET SDK nebo sady Visual Studio při prvním zavedení pravidla
Volby Všechny dostupné možnosti pravidla.

Viz také