Partilhar via


Linguagem e regras desnecessárias

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

Esta categoria também inclui regras que identificam partes da base de 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: Código que degrada desnecessariamente a legibilidade.
  • Manutenabilidade: 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 uma sobrecarga de desempenho desnecessária.
  • Funcionalidade: Problema funcional no código que torna o código necessário redundante. Por exemplo, IDE0060 sinaliza parâmetros não utilizados onde o método ignora acidentalmente um parâmetro de entrada.

As regras linguísticas inserem-se nas seguintes categorias:

  • Regras de estilo .NET: 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 do código do Visual Basic. Os nomes das opções para essas regras começam com o prefixo visual_basic_style_.

Formato da opção

Muitas das regras de idioma têm uma ou mais opções associadas para personalizar o estilo preferido. Por exemplo, Usar instrução "usando" simples (IDE0063) tem a opção csharp_prefer_simple_using_statement associada que permite definir se você prefere uma using declaração ou uma using instrução. A regra aplica as opções que escolheres num nível especificado, 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 idioma, você especifica um valor que define se ou quando preferir o estilo. Muitas regras aceitam um valor de true (preferem este estilo) ou false (não preferem este estilo). Outras regras aceitam valores como when_on_single_line ou never.

  • Severidade (opcional no Visual Studio 2019 e versões posteriores)

    A segunda parte da regra especifica o nível de severidade da regra. No .NET 9 e em versões posteriores, a severidade é sempre respeitada, ou seja, dentro de IDEs de desenvolvimento e durante a execução de compilações através da linha de comando. No .NET 8 e versões anteriores, essa configuração de gravidade só é respeitada dentro de IDEs de desenvolvimento, como o Visual Studio, e não 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, poderá fazê-lo de duas maneiras:

    • Defina as propriedades <AnalysisLevel> ou <AnalysisLevelStyle> como 9.0 ou um valor superior, ou como preview.
    • Defina a severidade usando a sintaxe de configuração de severidade baseada no ID da regra para analisadores. A sintaxe assume a forma dotnet_diagnostic.<rule ID>.severity = <severity>, por exemplo, dotnet_diagnostic.IDE0040.severity = warning. Para obter mais informações, consulte Nível de gravidade.

Gorjeta

A partir do Visual Studio 2019, pode configurar regras de estilo de código no menu Ações Rápidas após uma violação de estilo ocorrer.

Índice de regras

As regras de linguagem e código desnecessárias 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 diretivas

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

Regras de estilo C#:

Preferências de bloqueio de código

Regras de estilo C#:

Membros com corpo de expressão

Regras de estilo C#:

Preferências no nível da expressão

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

Regras de estilo C#:

Regras de estilo do Visual Basic:

Preferências de campo

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

Palavras-chave de idioma vs. preferências de tipos de estrutura

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

Preferências do modificador

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

Regras de estilo C#:

Preferências de nova linha

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

Regras de estilo C#:

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

Preferências de verificação nula

Regras de estilo C#:

Preferências de parâmetros

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

Preferências entre parênteses

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

Preferências de correspondência de padrões

Regras de estilo C#:

Preferências de supressão

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

Regras de estilo C#:

preferências de This. e me.

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

var preferências

Regras de estilo C#:

Consulte também