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.
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.