Compartilhar via


Convenções de capitalização

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.

As diretrizes neste capítulo estabelecem um método simples para usar maiúsculas e minúsculas que, quando aplicados de forma consistente, facilitam a leitura de identificadores para tipos, membros e parâmetros.

Regras de capitalização para identificadores

Para diferenciar palavras em um identificador, capitalize a primeira letra de cada palavra no identificador. Não use sublinhados para diferenciar palavras ou, nesse caso, em qualquer lugar nos identificadores. Há duas maneiras apropriadas de capitalizar identificadores, dependendo do uso do identificador:

  • PascalCasing

  • camelCasing

A convenção PascalCasing, usada para todos os identificadores, exceto nomes de parâmetro, capitaliza o primeiro caractere de cada palavra (incluindo acrônimos com mais de duas letras de comprimento), conforme mostrado nos seguintes exemplos:

PropertyDescriptor HtmlTag

Um caso especial é feito para acrônimos de duas letras em que ambas as letras são maiúsculas, conforme mostrado no seguinte identificador:

IOStream

A convenção camelCasing, usada apenas para nomes de parâmetro, capitaliza o primeiro caractere de cada palavra, exceto a primeira palavra, conforme mostrado nos exemplos a seguir. Como o exemplo também mostra, os acrônimos de duas letras que iniciam um identificador ficam em minúsculas.

propertyDescriptor ioStream htmlTag

✔️ USE PascalCasing para todos os nomes de membros, tipos e namespaces públicos composto de várias palavras.

✔️ USE camelCasing para nomes de parâmetro.

A tabela a seguir descreve as regras de capitalização para diferentes tipos de identificadores.

Identificador Capitalização Exemplo
Namespace Pascal namespace System.Security { ... }
Tipo Pascal public class StreamReader { ... }
Interfase Pascal public interface IEnumerable { ... }
Método Pascal public class Object {
public virtual string ToString();
}
Propriedade Pascal public class String {
public int Length { get; }
}
Acontecimento Pascal public class Process {
public event EventHandler Exited;
}
Campo Pascal public class MessageQueue {
public static readonly TimeSpan
InfiniteTimeout;
}
public struct UInt32 {
public const Min = 0;
}
Valor de enumeração Pascal public enum FileMode {
Append,
...
}
Parâmetro Camelo public class Convert {
public static int ToInt32(string value);
}

Maiusculização de palavras compostas e termos comuns

A maioria dos termos compostos é tratada como palavras simples para fins de capitalização.

❌ NÃO capitalize cada palavra nas chamadas palavras compostas de forma fechada.

Elas são formadas por mais de uma palavra escritas como uma única palavra sem separação ou uso de hífen, como “passatempo”. Para fins de diretrizes quanto ao uso de maiúsculas e minúsculas, trate essas palavras como uma única palavra. Use um dicionário atual para determinar se uma palavra composta é escrita em formato fechado.

Pascal Camelo Não
BitFlag bitFlag Bitflag
Callback callback CallBack
Canceled canceled Cancelled
DoNot doNot Don't
Email email EMail
Endpoint endpoint EndPoint
FileName fileName Filename
Gridline gridline GridLine
Hashtable hashtable HashTable
Id id ID
Indexes indexes Indices
LogOff logOff LogOut
LogOn logOn LogIn
Metadata metadata MetaData, metaData
Multipanel multipanel MultiPanel
Multiview multiview MultiView
Namespace namespace NameSpace
Ok ok OK
Pi pi PI
Placeholder placeholder PlaceHolder
SignIn signIn SignOn
SignOut signOut SignOff
UserName userName Username
WhiteSpace whiteSpace Whitespace
Writable writable Writeable

Diferenciação de maiúsculas e minúsculas

Idiomas que podem ser executados em CLR não precisam oferecer suporte à diferenciação de maiúsculas e minúsculas, embora alguns ofereçam. Mesmo que seu idioma ofereça suporte, outros idiomas que possam acessar sua infraestrutura não oferecem suporte. Todas as APIs que são acessíveis externamente, portanto, não podem depender apenas da diferenciação de maiúsculas e minúsculas para distinguir entre dois nomes no mesmo contexto.

❌ NÃO suponha que todas as linguagens de programação diferenciam maiúsculas de minúsculas. Eles não são. Os nomes não podem diferir apenas por caso.

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.

Consulte também