Compartilhar via


Linguagem e regras desnecessárias

As regras de estilo de código afetam como as várias construções das linguagens de programação .NET, por exemplo, modificadores e parênteses, são usadas.

Essa categoria também inclui regras que identificam partes da base do código que são desnecessárias e podem ser refatoradas ou removidas. A presença de código desnecessário indica um ou mais dos seguintes problemas:

  • Legibilidade: um código que diminui desnecessariamente a legibilidade.
  • Capacidade de manutenção: o código que não é mais usado após a refatoração e é mantido desnecessariamente.
  • Desempenho: computação desnecessária que não tem efeitos colaterais e leva a sobrecarga de desempenho desnecessária.
  • Funcionalidade: um problema funcional no código que torna redundante o código necessário. Por exemplo, IDE0060 sinaliza parâmetros não utilizados onde o método ignora acidentalmente um parâmetro de entrada.

As regras da linguagem se enquadram nas seguintes categorias:

  • .NET regras de estilo: regras que se aplicam a C# e Visual Basic. Os nomes das opções para essas regras começam com o prefixo dotnet_style_.
  • Regras de estilo C#: regras específicas do código C#. Os nomes das opções para essas regras começam com o prefixo csharp_style_.
  • Regras de estilo do Visual Basic: regras específicas para o código Visual Basic. Os nomes das opções para essas regras começam com o prefixo visual_basic_style_.

Formato de opção

Muitas das regras da linguagem têm uma ou mais opções associadas para personalizar o estilo preferido. Por exemplo, Usar a declaração simples 'using' (IDE0063) tem a opção associada csharp_prefer_simple_using_statement que permite definir se você prefere uma declaração using ou uma declaração using. A regra aplica as opções que você escolher em um nível específico, por exemplo, aviso ou erro.

As opções para regras de idioma podem ser especificadas em um arquivo de configuração com o seguinte formato:

option_name = value (Visual Studio 2019 e posterior)

ou

option_name = value:severity

  • Valor

    Para cada regra de linguagem, você especifica um valor que define se ou quando preferir o estilo. Muitas regras aceitam um valor de true (prefira este estilo) ou false (não prefira este estilo). Outras regras aceitam valores como when_on_single_line ou never.

  • Severity (opcional em Visual Studio 2019 e versões posteriores)

    A segunda parte da regra especifica o nível de gravidade da regra. Em versões .NET 9 e posteriores, a gravidade é sempre respeitada, ou seja, nas IDEs de desenvolvimento e durante builds de linha de comando. Em .NET 8 e versões anteriores, essa configuração de severidade é respeitada apenas dentro de IDEs de desenvolvimento, como Visual Studio e not durante a compilação.

    Se você estiver usando o SDK do .NET 8 ou uma versão anterior e quiser que a gravidade seja respeitada no momento da compilação, você pode fazê-lo de duas maneiras:

    • Defina a propriedade <AnalysisLevel> ou <AnalysisLevelStyle> para 9.0 ou superior, ou para preview.
    • Ao invés disso, defina a severidade usando a sintaxe de configuração de severidade com base no ID da regra para os analisadores. A sintaxe assume o formato dotnet_diagnostic.<rule ID>.severity = <severity>, por exemplo, dotnet_diagnostic.IDE0040.severity = warning. Para obter mais informações, consulte nível de gravidade.

Dica

A partir do Visual Studio 2019, você pode configurar regras de estilo de código do menu de lâmpadas Quick Actions após ocorrer uma violação de estilo.

Índice de Regras

As regras de código desnecessárias e de linguagem são ainda categorizadas em subcategorias, como preferências de nível de expressão, preferências de bloco de código e preferências de modificador.

using preferências de diretivas

.NET regras de estilo (C# e Visual Basic):

Regras de estilo do C#:

Preferências dos blocos de códigos

Regras de estilo do C#:

Membros aptos para expressão

Regras de estilo do C#:

Preferências de nível de expressão

.NET regras de estilo (C# e Visual Basic):

Regras de estilo do C#:

Visual Basic regras de estilo:

Preferências de campo

.NET regras de estilo (C# e Visual Basic):

Preferências de palavra-chave da linguagem versus tipos de estrutura

.NET regras de estilo (C# e Visual Basic):

Preferências do modificador

.NET regras de estilo (C# e Visual Basic):

Regras de estilo do C#:

preferências de nova linha

.NET regras de estilo (C# e Visual Basic):

Regras de estilo do C#:

†As regras são experimentais e estão sujeitas a alterações ou remoção.

Preferências de verificação nula

Regras de estilo do C#:

Preferências de parâmetro

.NET regras de estilo (C# e Visual Basic):

Preferências de parênteses

.NET regras de estilo (C# e Visual Basic):

Configurações de correspondência de padrões

Regras de estilo do C#:

Preferências de supressão

.NET regras de estilo (C# e Visual Basic):

  • Remover a supressão desnecessária (IDE0079)

Regras de estilo do C#:

This. e me. preferências

.NET regras de estilo (C# e Visual Basic):

var preferências

Regras de estilo do C#:

Confira também

  • referência das regras de estilo de código .NET