Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
Esse conteúdo é reimpresso por permissão da Pearson Education, Inc. das Diretrizes de Design da Estrutura: Convenções, Idiomas e Padrões para Bibliotecas .NET Reutilizáveis, 2ª Edição. Essa edição foi publicada em 2008, e desde então o livro foi totalmente revisado na terceira edição. Algumas das informações nesta página podem estar desatualizadas.
Tipos são compostos de membros: métodos, propriedades, eventos, construtores e campos. As seções a seguir descrevem as diretrizes de nomenclatura de membros de tipo.
Nomes de métodos
Como os métodos são o meio de executar ações, as diretrizes de design exigem que os nomes de método sejam verbos ou locuções verbais. Seguir essa diretriz também serve para distinguir os nomes de métodos de nomes de propriedades e tipos, que são substantivos ou frases adjetivas.
✔️ NOMEIE os métodos que sejam verbos ou frases verbais.
public class String {
public int CompareTo(...);
public string[] Split(...);
public string Trim();
}
Nomes de propriedades
Diferentemente de outros membros, as propriedades devem ser nomeadas com uma frase substantivada ou um adjetivo. Isso ocorre porque uma propriedade se refere aos dados e o nome da propriedade reflete isso. PascalCasing é sempre utilizado para nomes de propriedades.
✔️ Dê nome às propriedades usando substantivos, frases substantivas ou adjetivos.
❌ NÃO tenha propriedades que correspondam ao nome dos métodos "Get" como no exemplo a seguir:
public string TextWriter { get {...} set {...} }
public string GetTextWriter(int value) { ... }
Esse padrão normalmente indica que a propriedade deve ser realmente um método.
✔️ Nomeie propriedades de coleção com uma frase no plural que descreva os itens na coleção, em vez de usar uma frase no singular seguida por "List" ou "Collection".
✔️ Dê nome a propriedades Booleanas com uma frase afirmativa (CanSeek
em vez de CantSeek
). Opcionalmente, você também pode prefixar as propriedades boolianas com "Is", "Can" ou "Has", mas somente onde ela agrega valor.
✔️ CONSIDERE dar a uma propriedade o mesmo nome que seu tipo.
Por exemplo, a propriedade a seguir obtém e define corretamente um valor de enumeração chamado Color
, portanto, a propriedade é denominada Color
:
public enum Color {...}
public class Control {
public Color Color { get {...} set {...} }
}
Nomes de eventos
Os eventos sempre se referem a alguma ação, uma que está acontecendo ou outra que ocorreu. Portanto, assim como acontece com os métodos, os eventos são nomeados com verbos e o tempo verbal é usado para indicar o momento em que o evento é acionado.
✔️ NOMEIE os eventos com um verbo ou uma frase verbal.
Exemplos incluem Clicked
, Painting
, DroppedDown
e assim por diante.
✔️ DÊ nomes aos eventos com um conceito de antes e depois, usando os tempos verbais presente e passado.
Por exemplo, um evento de fechamento que é gerado antes de uma janela ser fechada seria chamado Closing
, e um que é acionado após o fechamento da janela seria chamado Closed
.
❌ NÃO use prefixos ou postfixes "Antes" ou "Depois" para indicar pré e pós-eventos. Use os tempos verbais Pretérito e Presente conforme descrito.
✔️ Dê aos manipuladores de eventos (delegados usados como tipos de eventos) o sufixo "EventHandler", conforme mostrado no exemplo a seguir:
public delegate void ClickedEventHandler(object sender, ClickedEventArgs e);
✔️ USE dois parâmetros nomeados sender
e e
em manipuladores de eventos.
O parâmetro remetente representa o objeto que gerou o evento. O parâmetro remetente normalmente é do tipo object
, mesmo que seja possível empregar um tipo mais específico.
✔️ Nomeie classes de argumento de evento com o sufixo "EventArgs".
Nomes de campos
As diretrizes de nomenclatura de campo se aplicam a campos estáticos públicos e protegidos. Campos internos e privados não são cobertos por diretrizes, e campos de instância pública ou protegida não são permitidos pelas diretrizes de design do membro.
✔️ USE PascalCasing nos nomes de campos.
Nomeie os campos usando um substantivo, uma frase substantiva ou um adjetivo.
❌ NÃO use um prefixo para nomes de campo.
Por exemplo, não use "g_" ou "s_" para indicar campos estáticos.
Partes © 2005, 2009 Microsoft Corporation. Todos os direitos reservados.
Reimpresso por permissão da Pearson Education, Inc. de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition de Krzysztof Cwalina e Brad Abrams, publicado em 22 de outubro de 2008 pela Addison-Wesley Professional como parte da série Microsoft Windows Development Series.