Partilhar via


CA1707: Os identificadores não devem conter sublinhados

Propriedade valor
ID da regra CA1707
Cargo Os identificadores não devem conter sublinhados
Categoria Atribuição de nomes
A correção está quebrando ou não quebrando Quebra - quando levantado em montagens

Não-quebrando - quando levantado em parâmetros de tipo
Habilitado por padrão no .NET 8 Não

Causa

O nome de um identificador contém o caractere sublinhado (_).

Descrição da regra

Por convenção, os nomes dos identificadores não contêm o caractere sublinhado (_). A regra verifica namespaces, tipos, membros e parâmetros.

As convenções de nomenclatura fornecem uma aparência comum para bibliotecas que visam o Common Language Runtime. Isso reduz a curva de aprendizado necessária para novas bibliotecas de software e aumenta a confiança do cliente de que a biblioteca foi desenvolvida por alguém com experiência no desenvolvimento de código gerenciado.

Como corrigir violações

Remova todos os caracteres de sublinhado do nome.

Quando suprimir avisos

Não suprima avisos para o código de produção. No entanto, é seguro suprimir esse aviso para o código de teste.

Suprimir um aviso

Se você quiser apenas suprimir uma única violação, adicione diretivas de pré-processador ao seu arquivo de origem para desativar e, em seguida, reativar a regra.

#pragma warning disable CA1707
// The code that's violating the rule is on this line.
#pragma warning restore CA1707

Para desabilitar a regra de um arquivo, pasta ou projeto, defina sua gravidade como none no arquivo de configuração.

[*.{cs,vb}]
dotnet_diagnostic.CA1707.severity = none

Para obter mais informações, consulte Como suprimir avisos de análise de código.

Para métodos bem conhecidos no código da Microsoft que atualmente usam um sublinhado e não podem ser modificados, a regra deve ser suprimida.

Configurar código para análise

Use a opção a seguir para configurar em quais partes da sua base de código executar essa regra.

Você pode configurar essa opção apenas para esta regra, para todas as regras às quais ela se aplica ou para todas as regras nesta categoria (Nomenclatura) às quais ela se aplica. Para obter mais informações, consulte Opções de configuração da regra de qualidade de código.

Incluir superfícies de API específicas

Você pode configurar em quais partes da sua base de código executar essa regra, com base em sua acessibilidade. Por exemplo, para especificar que a regra deve ser executada somente na superfície de API não pública, adicione o seguinte par chave-valor a um arquivo .editorconfig em seu projeto:

dotnet_code_quality.CAXXXX.api_surface = private, internal