Partilhar via


Convenções de Capitalização

Nota

Este conteúdo é reimpresso com permissão da Pearson Education, Inc., a partir de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition. Essa edição foi publicada em 2008 e, desde então, o livro foi totalmente revisto na terceira edição. Algumas das informações nesta página podem estar desatualizadas.

As diretrizes deste capítulo estabelecem um método simples para usar casos que, quando aplicados de forma consistente, tornam os identificadores para tipos, membros e parâmetros fáceis de ler.

Regras de capitalização para identificadores

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

  • PascalCasing

  • cameloCasing

A convenção PascalCasing, usada para todos os identificadores, exceto nomes de parâmetros, coloca em maiúsculas o primeiro caractere de cada palavra (incluindo siglas com mais de duas letras de comprimento), conforme mostrado nos exemplos a seguir:

PropertyDescriptor HtmlTag

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

IOStream

A convenção camelCasing, usada apenas para nomes de parâmetros, coloca em maiúsculas o primeiro caractere de cada palavra, exceto a primeira palavra, como mostrado nos exemplos a seguir. Como o exemplo também mostra, as siglas de duas letras que iniciam um identificador com caixa de camelo são ambas minúsculas.

propertyDescriptor ioStream htmlTag

✔️ DO use PascalCasing para todos os nomes de membros, tipos e namespaces públicos que consistem em várias palavras.

✔️ DO use camelCasing para nomes de parâmetros.

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

Identificador Maiúsculas e Minúsculas Exemplo
Espaço de Nomes Pascal namespace System.Security { ... }
Type Pascal public class StreamReader { ... }
Interface Pascal public interface IEnumerable { ... }
Método Pascal public class Object {
public virtual string ToString();
}
Property Pascal public class String {
public int Length { get; }
}
Evento 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 Camel public class Convert {
public static int ToInt32(string value);
}

Capitalização de palavras compostas e termos comuns

A maioria dos termos compostos são tratados como palavras únicas para fins de capitalização.

❌ NÃO coloque cada palavra em maiúsculas nas chamadas palavras compostas de forma fechada.

Estas são palavras compostas escritas como uma única palavra, como ponto final. Para fins de diretrizes de invólucro, trate uma palavra composta de forma fechada como uma única palavra. Use um dicionário atual para determinar se uma palavra composta é escrita em formato fechado.

Pascal Camel Not
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

Sensibilidade a maiúsculas e minú

Os idiomas que podem ser executados no CLR não são necessários para oferecer suporte à diferenciação de maiúsculas e minúsculas, embora alguns o façam. Mesmo que o seu idioma o suporte, outros idiomas que possam aceder à sua estrutura não o suportam. Portanto, quaisquer APIs acessíveis externamente não podem depender apenas de maiúsculas e minúsculas para distinguir entre dois nomes no mesmo contexto.

❌ NÃO assuma que todas as linguagens de programação diferenciam maiúsculas de minúsculas. Tal não acontece. Os nomes não podem diferir apenas de caso para caso.

© Partes 2005, 2009 Microsoft Corporation. Todos os direitos reservados.

Reimpresso com permissão da Pearson Education, Inc., de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition por Krzysztof Cwalina e Brad Abrams, publicado em 22 de outubro de 2008 por Addison-Wesley Professional como parte da Microsoft Windows Development Series.

Consulte também