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 impõe as opções que você escolher em um 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 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 no momento da compilação, poderá fazê-lo de duas maneiras:

    • Defina a <propriedade AnalysisLevel> ou <AnalysisLevelStyle> como 9.0 ou superior, ou como preview.
    • Defina a severidade usando a sintaxe de configuração de gravidade baseada em 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, você pode configurar regras de estilo de código no menu de lâmpadas Ações Rápidas após ocorrer uma violação de estilo.

Í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

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

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):

This. e me. preferências

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

var preferências

Regras de estilo C#:

Consulte também