CA1710: os identificadores devem ter o sufixo correto
TypeName |
IdentifiersShouldHaveCorrectSuffix |
CheckId |
CA1710 |
Categoria |
Microsoft.Naming |
Alteração Significativa |
Quebra |
Causa
Um identificador não tiver o sufixo correto.
Descrição da Regra
Por convenção, os nomes dos tipos que estendem determinados tipos de base ou que implementam determinadas interfaces, ou tipos derivados desses tipos, têm um sufixo associado ao tipo de base ou a interface.
Convenções de nomenclatura dão uma aparência comum para bibliotecas que tem como foco o common language runtime.Isto reduz a curva de aprendizado que é necessária para novas bibliotecas de software, e aumenta confiança dos clientes de que a biblioteca foi desenvolvida por alguém que com experiência programar código gerenciado.
A tabela a seguir lista os tipos de base e interfaces que têm sufixos.
Tipo de base/interface |
Sufixo |
---|---|
Atributo |
|
EventArgs |
|
Exceção |
|
Coleção |
|
Dicionário |
|
Coleção |
|
Coleção ou fila |
|
Coleção ou pilha |
|
Coleção |
|
Dicionário |
|
DataSet |
|
Coleção ou DataTable |
|
Fluxo |
|
Permissão |
|
Condição |
|
Um representante do manipulador de eventos. |
EventHandler |
Tipos que implementam ICollection e são um tipo generalizado da estrutura de dados, como um dicionário, pilha, ou a fila, são permitidos nomes que fornecem informações significativas sobre o uso pretendido do tipo.
Tipos que implementam ICollection e é uma coleção de itens específicos com nomes que terminam com as palavras “coleção”.Por exemplo, uma coleção de objetos de Queue teria o nome “QueueCollection”.O sufixo de “coleção” significa que membros da coleção podem ser enumerados usando a instrução de foreach (For Each em Visual Basic).
Tipos que a ferramenta IDictionary tem os nomes que terminam com as palavras “dicionário” mesmo que o tipo também implementa IEnumerable ou ICollection.As convenções de nomenclatura de sufixo de “coleção” e “dicionário” permitem que os usuários para distinguir entre os dois seguintes padrões da enumeração.
Os tipos com o sufixo de “coleção” seguem o padrão da enumeração.
foreach(SomeType x in SomeCollection) { }
Os tipos com o sufixo “” dicionário segue esse padrão da enumeração.
foreach(SomeType x in SomeDictionary.Values) { }
Um objeto de DataSet consiste em uma coleção de objetos DataTable , que consistem em coleções de DataColumn e objetos de DataRow , entre outros.Implementar ICollection dessas coleções pela classe base de InternalDataCollectionBase .
Como Corrigir Violações
Renomeie o tipo de modo que terá o termo correto.
Quando Suprimir Alertas
É seguro suprimir um aviso usar o sufixo de “coleção” se o tipo for uma estrutura de dados generalizada que possam ser estendidas ou que guardarasse um conjunto arbitrário de vários itens.Nesse caso, um nome que fornece informações significativas sobre a implementação, o desempenho, ou outras características da estrutura de dados podem fazer sentido (por exemplo, BinaryTree).Em casos onde o tipo representa uma coleção de um tipo específico (por exemplo, StringCollection), não suprima um aviso desta regra porque o sufixo indica que o tipo pode ser enumerado usando uma instrução de foreach .
Para outros sufixos, não suprima um aviso desta regra.O sufixo permite que o uso pretendido é evidente o nome do tipo.
Regras Relacionadas
CA1711: os identificadores não devem ter sufixo incorreto