Reguły stylu kodu

Analiza stylu kodu platformy .NET udostępnia reguły, które mają na celu zachowanie spójnego stylu w bazie kodu. Te reguły mają prefiks "IDE" w identyfikatorze reguły.

Reguły stylu kodu są zorganizowane w następujące podkategorie:

  • Język i niepotrzebne reguły kodu

    Reguły dotyczące języka C# lub Visual Basic. Można na przykład określić reguły, które dotyczą użycia var podczas definiowania zmiennych, lub czy preferowane są elementy członkowskie ze stanem wyrażenia. Ta kategoria obejmuje również reguły, które znajdą niepotrzebny kod, na przykład niemożliwy do osiągnięcia kod w ramach metod lub nieużywane pola prywatne, właściwości lub metody.

  • Reguły formatowania

    Reguły dotyczące układu i struktury kodu w celu ułatwienia ich odczytania. Można na przykład określić opcję formatowania, która określa, czy spacje w blokach sterowania są preferowane, czy nie.

  • Reguły nazewnictwa

    Reguły dotyczące nazewnictwa elementów kodu. Można na przykład określić, że async nazwy metod muszą mieć sufiks "Async".

  • Różne reguły

    Reguły, które nie należą do innych kategorii.

Indeks

W poniższej tabeli wymieniono wszystkie reguły stylu kodu według identyfikatora i opcji, jeśli istnieją.

Identyfikator zasady Tytuł Opcja
IDE0001 Uprość nazwę
IDE0002 Uproszczenie dostępu do składowych
IDE0003 Usuwanie this lub Me kwalifikacje dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0004 Usuń niepotrzebne rzutowanie
IDE0005 Usuwanie niepotrzebnego importowania
IDE0007 Użyj var zamiast jawnego typu csharp_style_var_for_built_in_types
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0008 Użyj jawnego typu zamiast var csharp_style_var_for_built_in_types
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0009 Dodawanie this lub Me kwalifikacje dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0010 Dodawanie brakujących przypadków do instrukcji switch
IDE0011 Dodawanie nawiasów klamrowych csharp_prefer_braces
IDE0016 Używanie wyrażenia throw csharp_style_throw_expression
IDE0017 Używanie inicjatorów obiektów dotnet_style_object_initializer
IDE0018 Deklaracja zmiennej wbudowanej csharp_style_inlined_variable_declaration
IDE0019 Użyj dopasowania wzorca, aby uniknąć as sprawdzenia null csharp_style_pattern_matching_over_as_with_null_check
IDE0020 Użyj dopasowania wzorca, aby uniknąć is sprawdzania, po którym następuje rzutowanie (ze zmienną) csharp_style_pattern_matching_over_is_with_cast_check
IDE0021 Używanie treści wyrażenia dla konstruktorów csharp_style_expression_bodied_constructors
IDE0022 Używanie treści wyrażenia dla metod csharp_style_expression_bodied_methods
IDE0023 Używanie treści wyrażenia dla operatorów konwersji csharp_style_expression_bodied_operators
IDE0024 Używanie treści wyrażenia dla operatorów csharp_style_expression_bodied_operators
IDE0025 Używanie treści wyrażenia dla właściwości csharp_style_expression_bodied_properties
IDE0026 Używanie treści wyrażenia dla indeksatorów csharp_style_expression_bodied_indexers
IDE0027 Używanie treści wyrażenia dla metod dostępu csharp_style_expression_bodied_accessors
IDE0028 Używanie inicjatorów kolekcji dotnet_style_collection_initializer
dotnet_style_prefer_collection_expression (tylko c#)
IDE0029 Sprawdzanie wartości null można uprościć dotnet_style_coalesce_expression
IDE0030 Sprawdzanie wartości null można uprościć dotnet_style_coalesce_expression
IDE0031 Używanie propagacji wartości null dotnet_style_null_propagation
IDE0032 Korzystanie z właściwości automatycznej dotnet_style_prefer_auto_properties
IDE0033 Użyj jawnie podanej nazwy krotki dotnet_style_explicit_tuple_names
IDE0034 Upraszczanie default wyrażenia csharp_prefer_simple_default_expression
IDE0035 Usuwanie nieosiągalnego kodu
IDE0036 Modyfikatory kolejności csharp_preferred_modifier_order
visual_basic_preferred_modifier_order
IDE0037 Użyj wywnioskowanej nazwy elementu członkowskiego dotnet_style_prefer_inferred_tuple_names
dotnet_style_prefer_inferred_anonymous_type_member_names
IDE0038 Użyj dopasowania wzorca, aby uniknąć is sprawdzania, po którym następuje rzutowanie (bez zmiennej) csharp_style_pattern_matching_over_is_with_cast_check
IDE0039 Użyj funkcji lokalnej zamiast lambda csharp_style_prefer_local_over_anonymous_function
IDE0040 Dodawanie modyfikatorów ułatwień dostępu dotnet_style_require_accessibility_modifiers
IDE0041 Użyj sprawdzania wartości null dotnet_style_prefer_is_null_check_over_reference_equality_method
IDE0042 Dekonstrukcja zmiennej deklaracji csharp_style_deconstructed_variable_declaration
IDE0044 Dodawanie modyfikatora tylko do odczytu dotnet_style_readonly_field
IDE0045 Używanie wyrażenia warunkowego do przypisania dotnet_style_prefer_conditional_expression_over_assignment
IDE0046 Używanie wyrażenia warunkowego do zwracania dotnet_style_prefer_conditional_expression_over_return
IDE0047 Usuwanie niepotrzebnych nawiasów dotnet_style_parentheses_in_arithmetic_binary_operators
dotnet_style_parentheses_in_relational_binary_operators
dotnet_style_parentheses_in_other_binary_operators
dotnet_style_parentheses_in_other_operators
IDE0048 Dodawanie nawiasów w celu uzyskania jasności dotnet_style_parentheses_in_arithmetic_binary_operators
dotnet_style_parentheses_in_relational_binary_operators
dotnet_style_parentheses_in_other_binary_operators
dotnet_style_parentheses_in_other_operators
IDE0049 Użyj słów kluczowych języka zamiast nazw typów platformy dla odwołań do typów dotnet_style_predefined_type_for_locals_parameters_members
dotnet_style_predefined_type_for_member_access
IDE0050 Konwertowanie typu anonimowego na krotkę
IDE0051 Usuń nieużywany element członkowski prywatny
IDE0052 Usuń nieprzeczytany prywatny element członkowski
IDE0053 Używanie treści wyrażenia dla lambd csharp_style_expression_bodied_lambdas
IDE0054 Używanie przypisania złożonego dotnet_style_prefer_compound_assignment
IDE0055 Naprawianie formatowania (Zbyt wiele, aby wyświetlić listę tutaj. Zobacz Opcje formatowania platformy .NET i opcje formatowania języka C#).
IDE0056 Użyj operatora indeksu csharp_style_prefer_index_operator
IDE0057 Używanie operatora zakresu csharp_style_prefer_range_operator
IDE0058 Usuń nieużywaną wartość wyrażenia csharp_style_unused_value_expression_statement_preference
visual_basic_style_unused_value_expression_statement_preference
IDE0059 Usuwanie niepotrzebnego przypisania wartości csharp_style_unused_value_assignment_preference
visual_basic_style_unused_value_assignment_preference
IDE0060 Usuń nieużywany parametr dotnet_code_quality_unused_parameters
IDE0061 Używanie treści wyrażenia dla funkcji lokalnych csharp_style_expression_bodied_local_functions
IDE0062 Tworzenie funkcji statycznych z funkcji lokalnych csharp_prefer_static_local_function
IDE0063 Używanie prostej using instrukcji csharp_prefer_simple_using_statement
IDE0064 Tworzenie pól struktury zapisywalnych
IDE0065 using umieszczanie dyrektywy csharp_using_directive_placement
IDE0066 Używanie wyrażenia przełącznika csharp_style_prefer_switch_expression
IDE0070 Korzystanie z polecenia System.HashCode.Combine
IDE0071 Upraszczanie interpolacji dotnet_style_prefer_simplified_interpolation
IDE0072 Dodawanie brakujących przypadków do wyrażenia switch
IDE0073 Użyj nagłówka pliku file_header_template
IDE0074 Używanie przypisania złożonego zesłania dotnet_style_prefer_compound_assignment
IDE0075 Upraszczanie wyrażenia warunkowego dotnet_style_prefer_simplified_boolean_expressions
IDE0076 Usuń nieprawidłowy globalny SuppressMessageAttribute
IDE0077 Unikaj starszego formatu docelowego w skali globalnej SuppressMessageAttribute
IDE0078 Korzystanie z dopasowania do wzorca csharp_style_prefer_pattern_matching
IDE0079 Usuwanie niepotrzebnego pomijania dotnet_remove_unnecessary_suppression_exclusions
IDE0080 Usuwanie niepotrzebnego operatora pomijania
IDE0081 Usunięto element ByVal
IDE0082 Konwertowanie typeof na nameof
IDE0083 Używanie dopasowywania wzorca (not operator) csharp_style_prefer_not_pattern
IDE0084 Używanie dopasowywania wzorca (IsNot operator) visual_basic_style_prefer_isnot_expression
IDE0090 Upraszczanie new wyrażenia csharp_style_implicit_object_creation_when_type_is_apparent
IDE0100 Usuwanie niepotrzebnego operatora równości
IDE0110 Usuwanie zbędnych odrzuceń
IDE0120 Upraszczanie wyrażenia LINQ
IDE0130 Przestrzeń nazw nie jest zgodna ze strukturą folderów dotnet_style_namespace_match_folder
IDE0140 Upraszczanie tworzenia obiektów visual_basic_style_prefer_simplified_object_creation
IDE0150 Preferuj null sprawdzanie typu zaewidencjonuj csharp_style_prefer_null_check_over_type_check
IDE0160 Korzystanie z przestrzeni nazw o zakresie bloku csharp_style_namespace_declarations
IDE0161 Korzystanie z przestrzeni nazw o zakresie plików csharp_style_namespace_declarations
IDE0170 Upraszczanie wzorca właściwości csharp_style_prefer_extended_property_pattern
IDE0180 Zamiana wartości za pomocą krotki csharp_style_prefer_tuple_swap
IDE0200 Usuwanie niepotrzebnego wyrażenia lambda csharp_style_prefer_method_group_conversion
IDE0210 Konwertowanie na instrukcje najwyższego poziomu csharp_style_prefer_top_level_statements
IDE0211 Konwertuj na program stylu "Program.Main" csharp_style_prefer_top_level_statements
IDE0220 Dodawanie jawnego rzutu w pętli foreach dotnet_style_prefer_foreach_explicit_cast_in_source
IDE0230 Używanie literału ciągu UTF-8 csharp_style_prefer_utf8_string_literals
IDE0240 Dyrektywa dopuszczana do wartości null jest nadmiarowa
IDE0241 Dyrektywa dopuszczana do wartości null jest niepotrzebna
IDE0250 Można dokonać struktury "readonly" csharp_style_prefer_readonly_struct
IDE0251 Element członkowski może być "readonly" csharp_style_prefer_readonly_struct_member
IDE0260 Korzystanie z dopasowania do wzorca csharp_style_pattern_matching_over_as_with_null_check
IDE0270 Sprawdzanie wartości null można uprościć dotnet_style_coalesce_expression
IDE0280 Korzystanie z polecenia nameof
IDE0290 Używanie konstruktora podstawowego csharp_style_prefer_primary_constructors
IDE0300 Używanie wyrażenia kolekcji dla tablicy dotnet_style_prefer_collection_expression
IDE0301 Używanie wyrażenia kolekcji dla pustego dotnet_style_prefer_collection_expression
IDE0302 Używanie wyrażenia kolekcji dla obiektu stackalloc dotnet_style_prefer_collection_expression
IDE0303 Używanie wyrażenia kolekcji dla Create() dotnet_style_prefer_collection_expression
IDE0304 Używanie wyrażenia kolekcji dla konstruktora dotnet_style_prefer_collection_expression
IDE0305 Używanie wyrażenia kolekcji dla płynnego dotnet_style_prefer_collection_expression
IDE1005 Używanie wywołania delegata warunkowego csharp_style_conditional_delegate_call
IDE1006 Style nazewnictwa

Uwaga

Istnieją pewne reguły, które są widoczne tylko w środowisku IDE programu Visual Studio, a te dotyczą ciągów wzorców JSON i wyrażenia regularnego. Aby uzyskać więcej informacji, zobacz JSON001, JSON002 i RE0001.

Legenda

W poniższej tabeli przedstawiono typ informacji podanych dla każdej reguły w dokumentacji referencyjnej.

Element opis
Identyfikator reguły Unikatowy identyfikator reguły. Służy do konfigurowania ważności reguły i pomijania ostrzeżeń w pliku kodu.
Tytuł Tytuł reguły.
Kategoria Kategoria reguły.
Podkategorii Podkategoria reguły, taka jak reguły języka, reguły formatowania lub reguły nazewnictwa.
Odpowiednie języki Odpowiednie języki platformy .NET (C# lub Visual Basic) wraz z minimalną wersją języka, jeśli ma to zastosowanie.
Wprowadzona wersja Wersja zestawu .NET SDK lub programu Visual Studio, gdy reguła została wprowadzona po raz pierwszy.
Opcje Wszystkie dostępne opcje reguły.

Zobacz też