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.

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:

  • 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 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 instrução simples 'using' (IDE0063) tem a opção associada csharp_prefer_simple_using_statement que permite definir se você prefere uma instrução using ou uma instruçã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.

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

    A segunda parte da regra especifica o nível de gravidade da regra. No .NET 9 e versões posteriores, a severidade é sempre respeitada, ou seja, dentro de IDEs de desenvolvimento e durante compilações de 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 em tempo de compilação, poderá fazê-lo de duas maneiras:

    • Defina a <propriedade AnalysisLevel> ou <AnalysisLevelStyle> como 9.0 ou superior, ou como preview.
    • Em vez disso, defina a gravidade usando a sintaxe de configuração de gravidade baseada em ID de regra para 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 no menu de lâmpadas Ações Rápidas após a ocorrência de uma violação de estilo.

Índice da regra

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

Regras de estilo do .NET (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

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

Regras de estilo do C#:

Regras de estilo do Visual Basic:

Preferências de campo

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

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

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

Preferências do modificador

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

Regras de estilo do C#:

preferências de nova linha

  • Permitir várias linhas em branco (IDE2000)
  • Permitir declarações incorporadas na mesma linha (IDE2001)
  • Permitir linhas em branco entre chaves consecutivas (IDE2002)
  • Permitir uma declaração imediatamente após o bloco (IDE2003)
  • Permitir uma linha em branco após dois pontos no inicializador do construtor (IDE2004)
  • Permitir uma linha em branco após o token em uma expressão condicional (IDE2005)
  • Permitir uma linha em branco após o token na expressão de seta (IDE2006)

Preferências de verificação nula

Regras de estilo do C#:

Preferências de parâmetro

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

Preferências de parênteses

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

Preferências de padrões correspondentes

Regras de estilo do C#:

Preferências de supressão

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

This. e me. preferências

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

var preferências

Regras de estilo do C#:

Confira também