Partilhar via


Regras de estilo de código

A análise de estilo de código .NET fornece regras que visam manter um estilo consistente em sua base de código. Essas regras têm um prefixo "IDE" no ID da regra.

As regras de estilo de código são organizadas nas seguintes subcategorias:

  • Regras de linguagem e código desnecessárias

    Regras que pertencem à linguagem C# ou Visual Basic. Por exemplo, pode-se especificar regras que considerem o uso de var no momento de definir variáveis, ou se é preferível usar membros com expressão de corpo. Esta categoria também inclui regras que encontram código desnecessário, por exemplo, código inacessível dentro de métodos ou campos privados, propriedades ou métodos não utilizados.

  • Regras de formatação

    Regras que dizem respeito ao layout e à estrutura do seu código para facilitar a leitura. Por exemplo, você pode especificar uma opção de formatação que define se os espaços nos blocos de controle são preferidos ou não.

  • Regras de nomenclatura

    Regras que dizem respeito à nomeação de elementos de código. Por exemplo, você pode especificar que async os nomes de método devem ter um sufixo "Async".

  • Regras diversas

    Regras que não pertencem a outras categorias.

Índice

A tabela a seguir lista todas as regras de estilo de código por ID e opções, se houver.

ID da Regra Título Opção
IDE0001 Simplifique o nome
IDE0002 Simplifique o acesso dos membros
IDE0003 Remover qualificação this ou Me dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0004 Remover transmissão desnecessária
IDE0005 Remover importação desnecessária
IDE0007 Use var em vez de tipo explícito estilo_csharp_var_para_tipos_incorporados
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0008 Use o tipo explícito em vez de var estilo_csharp_var_para_tipos_incorporados
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0009 Adicionar qualificação this ou Me dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
IDE0010 Adicionar casos em falta à instrução switch
IDE0011 Adicionar chaves csharp_prefer_braces
IDE0016 Usar expressão de lançamento csharp_style_throw_expression
IDE0017 Usar inicializadores de objeto dotnet_style_object_initializer
IDE0018 Declaração de variável embutida estilo_csharp_declaracao_de_variavel_inline
IDE0019 Use a correspondência de padrões para evitar que as seja seguido por uma verificação null estilo_csharp_combinação_de_padrões_sobre_as_com_verificação_de_nulo
IDE0020 Use a correspondência de padrões para evitar is a verificação seguida de um elenco (com variável) csharp_estilo_casamento_de_padrão_sobre_é_com_verificação_de_conversão
IDE0021 Utilizar corpo de expressão para construtores csharp_style_expression_bodied_constructors
IDE0022 Usar corpo de expressão para métodos métodos de estilo de expressão no C#
IDE0023 Utilize corpo de expressão para operadores de conversão estilo_csharp_expressão_operadores_corpos
IDE0024 Usar corpo de expressão para operadores estilo_csharp_expressão_operadores_corpos
IDE0025 Usar corpo de expressão para propriedades csharp_style_expression_bodied_properties
IDE0026 Usar corpo de expressão para indexadores csharp_style_expression_bodied_indexers
IDE0027 Utilizar corpo de expressão para acessores estilo_csharp_acessores_corpo_de_expressão
IDE0028 Usar inicializadores de coleção dotnet_style_collection_initializer
dotnet_style_prefer_collection_expression
IDE0029 A verificação nula pode ser simplificada dotnet_style_coalesce_expression
IDE0030 A verificação nula pode ser simplificada dotnet_style_coalesce_expression
IDE0031 Usar propagação nula dotnet_style_null_propagation
IDE0032 Usar propriedade auto dotnet_style_prefer_auto_properties
IDE0033 Utilize o nome da tupla que foi explicitamente fornecido dotnet_style_explicit_tuple_names
IDE0034 Simplifique a default expressão csharp_prefer_simple_default_expression
IDE0035 Remover código inacessível
IDE0036 Modificadores de ordem ordem_preferida_de_modificadores_csharp
visual_basic_ordem_preferida_de_modificadores
IDE0037 Usar nome de membro inferido dotnet_style_prefer_inferred_tuple_names
dotnet_style_prefer_inferred_anonymous_type_member_names
IDE0038 Use a correspondência de padrões para evitar is a verificação seguida de uma conversão direta (sem uso de variável). csharp_estilo_casamento_de_padrão_sobre_é_com_verificação_de_conversão
IDE0039 Usar função local em vez de lambda estilo_csharp_preferir_local_sobre_funcao_anonima
IDE0040 Adicionar modificadores de acessibilidade dotnet_style_require_accessibility_modifiers
IDE0041 Utilizar verificação de nulo dotnet_style_prefer_is_null_check_over_reference_equality_method
IDE0042 Desconstruir declaração de variável estilo_csharp_declaração_variável_desconstruída
IDE0044 Adicionar modificador somente leitura dotnet_style_readonly_field
IDE0045 Usar expressão condicional para atribuição preferência_de_estilo_dotnet_para_expressão_condicional_sobre_atribuição
IDE0046 Usar expressão condicional para retorno dotnet_style_prefer_conditional_expression_over_return
IDE0047 Remover parênteses desnecessários dotnet_style_parentheses_in_arithmetic_binary_operators
estilo_dotnet_parênteses_em_operadores_binários_relacionais
dotnet_style_parentheses_em_outros_operadores_binários
estilo_dotnet_parênteses_em_outros_operadores
IDE0048 Adicionar parênteses para maior clareza dotnet_style_parentheses_in_arithmetic_binary_operators (estilo_dotnet_parênteses_em_operadores_binários_aritméticos)
estilo_dotnet_parênteses_em_operadores_binários_relacionais
dotnet_style_parentheses_em_outros_operadores_binários
estilo_dotnet_parênteses_em_outros_operadores
IDE0049 Use palavras-chave de idioma em vez de nomes de tipo de estrutura para referências de tipo dotnet_style_predefined_type_for_locals_parameters_members
dotnet_style_predefined_type_for_member_access
IDE0050 Converter tipo anônimo em tupla
IDE0051 Remover membro privado não utilizado
IDE0052 Remover membro privado não lido
IDE0053 Usar corpo de expressão para lambdas csharp_style_expression_bodied_lambdas
IDE0054 Usar atribuição composta dotnet_style_prefer_compound_assignment
IDE0055 Corrigir formatação (Muitos para listar aqui. Consulte Opções de formatação do .NET e Opções de formatação do C#.)
IDE0056 Usar operador de índice csharp_style_prefer_index_operator
IDE0057 Usar operador de intervalo estilo_csharp_preferir_operador_de_intervalo
IDE0058 Remover valor de expressão não utilizado csharp_style_unused_value_expression_statement_preference
visual_basic_style_unused_value_expression_statement_preference
IDE0059 Remover atribuição de valor desnecessária csharp_style_unused_value_assignment_preference
preferência_de_atribuição_de_valor_não_usado_estilo_visual_basic
IDE0060 Remover parâmetro não utilizado dotnet_code_quality_unused_parameters (parâmetros não utilizados de qualidade de código)
IDE0061 Usar corpo de expressão para funções locais estilo_csharp_funções_locais_corpo_de_expressão
IDE0062 Definir função como local static preferência_para_função_local_estática_em_Csharp
IDE0063 Utilize uma simples instrução using csharp_preferir_instrução_usando_simples
IDE0064 Tornar os campos struct graváveis
IDE0065 using colocação diretiva csharp_using_directive_placement
IDE0066 Usar expressão de opção Estilo de C# prefer_switch_expression
IDE0070 Utilizar o comando System.HashCode.Combine
IDE0071 Simplifique a interpolação dotnet_style_prefer_simplified_interpolation
IDE0072 Adicionar casos ausentes para alternar a expressão
IDE0073 Usar cabeçalho de arquivo file_header_template
IDE0074 Use atribuição composta do operador coalesce dotnet_style_prefer_compound_assignment
IDE0075 Simplificar a expressão condicional dotnet_style_prefer_simplified_boolean_expressions
IDE0076 Remover o global inválido SuppressMessageAttribute
IDE0077 Evite o formato de destino herdado no global SuppressMessageAttribute
IDE0078 Utilizar correspondência de padrões csharp_style_prefer_pattern_matching
IDE0079 Remover supressão desnecessária dotnet_remove_unnecessary_suppression_exclusions
IDE0080 Remover operador de supressão desnecessário
IDE0081 Remover ByVal
IDE0082 Converter typeof em nameof
IDE0083 Utilizar a correspondência de padrões (operador not) csharp_style_prefer_not_pattern
IDE0084 Utilizar a correspondência de padrões (operador IsNot) visual_basic_style_prefer_isnot_expression
IDE0090 Simplifique a new expressão estilo_csharp_criação_implícita_de_objetos_quando_o_tipo_é_aparente
IDE0100 Remova o operador de igualdade desnecessário
IDE0110 Remover descarte desnecessário
IDE0120 Simplifique a expressão LINQ
IDE0121 Simplifique a verificação de tipo e a transmissão do LINQ
IDE0130 O namespace não corresponde à estrutura de pastas dotnet_style_namespace_match_folder
IDE0140 Simplifique a criação de objetos estilo_visual_basic_prefere_criação_de_objetos_simplificada
IDE0150 Prefira null à verificação de tipo csharp_style_prefer_null_check_over_type_check
IDE0160 Utilizar espaço de nomes com escopo de bloco csharp_style_namespace_declarations
IDE0161 Usar um namespace com escopo de ficheiro csharp_style_namespace_declarations
IDE0170 Simplifique o padrão de propriedade csharp_style_prefer_extended_property_pattern
IDE0180 Utilize uma tupla para trocar valores csharp_style_prefer_tuple_swap
IDE0200 Remover expressão lambda desnecessária csharp_style_prefer_method_group_conversion
IDE0210 Converter para instruções de nível superior csharp_style_prefer_top_level_statements (preferência por declarações de nível superior em C#)
IDE0211 Converter para um programa no estilo de 'Program.Main' csharp_style_prefer_top_level_statements (preferência por declarações de nível superior em C#)
IDE0220 Adicionar conversão explícita no loop foreach dotnet_style_prefer_foreach_explicit_cast_in_source
IDE0230 Usar cadeia de caracteres literal UTF-8 csharp_style_prefer_utf8_string_literals
IDE0240 A diretiva anulável é redundante
IDE0241 A diretiva anulável é desnecessária
IDE0250 A estrutura pode ser 'só de leitura' csharp_style_prefer_readonly_struct
IDE0251 O membro pode ser definido como 'somente leitura' csharp_style_prefer_readonly_struct_member
IDE0260 Utilizar correspondência de padrões estilo_csharp_combinação_de_padrões_sobre_as_com_verificação_de_nulo
IDE0270 A verificação nula pode ser simplificada dotnet_style_coalesce_expression
IDE0280 Utilizar o comando nameof
IDE0290 Usar construtor primário csharp_style_prefer_primary_constructors
IDE0300 Usar expressão de coleção para matriz dotnet_style_prefer_collection_expression
IDE0301 Utilizar expressão de coleção quando vazia dotnet_style_prefer_collection_expression
IDE0302 Usar expressão de coleção para stackalloc dotnet_style_prefer_collection_expression
IDE0303 Usar expressão de coleção para Create() dotnet_style_prefer_collection_expression
IDE0304 Usar expressão de coleção para construtor dotnet_style_prefer_collection_expression
IDE0305 Utilizar expressões de coleção para maior fluidez. dotnet_style_prefer_collection_expression
IDE0306 Usar expressão de coleção para criar novo dotnet_style_prefer_collection_expression
IDE0320 Tornar uma função anónima static csharp_prefer_static_anonymous_function (preferência por função anónima estática em C#)
IDE0330 Prefira 'System.Threading.Lock' preferência_csharp_para_bloqueio_threading_de_sistema
IDE0340 Usar tipo genérico não acoplado csharp_style_prefer_unbound_generic_type_in_nameof
IDE0350 Use lambda tipado implicitamente estilo_csharp_preferir_expressão_lambda_tipagem_implícita
IDE1005 Utilizar chamada condicional de delegado csharp_style_conditional_delegate_call (chamada condicional de delegado em estilo C#)
IDE1006 Estilos de nomenclatura
IDE3000 Implementar com o Copilot

Nota

Há algumas regras que só aparecem no IDE do Visual Studio, e elas dizem respeito a JSON e cadeias de caracteres de padrão de expressão regular. Para obter mais informações, consulte JSON001, JSON002 e RE0001.

Legenda

A tabela a seguir mostra o tipo de informação fornecida para cada regra na documentação de referência.

Iteme Descrição
ID da regra O identificador exclusivo da regra. Usado para configurar a severidade da regra e suprimir avisos no arquivo de código.
Título O título da regra.
Categoria Categoria da regra.
Subcategoria A subcategoria da regra, como Regras de idioma, Regras de formatação ou Regras de nomenclatura.
Línguas aplicáveis Linguagens .NET aplicáveis (C# ou Visual Basic), juntamente com a versão mínima da linguagem, se aplicável.
Versão introduzida Versão do SDK do .NET ou Visual Studio quando a regra foi introduzida pela primeira vez.
Opções Quaisquer opções disponíveis para a regra.

Consulte também