- 10/22/2008
- 2 minutos para ler
-
- K
- n
- B
- D
- n
-
+10
As directrizes deste capítulo estabelecem um método simples para a utilização de casos assim, quando aplicado de forma consistente, faça identificadores para tipos, membros e parâmetros fáceis de ler.
Regras de capitalização para identificadores
Para diferenciar palavras em um identificador, capitalize a primeira letra de cada palavra no identificador. Não utilize sublinhados para diferenciar palavras, ou seja, em qualquer lugar nos identificadores. Existem duas formas apropriadas de capitalizar identificadores, dependendo do uso do identificador:
-
PascalCasing
-
camelCasing
A convenção PascalCasing, usada para todos os identificadores exceto nomes de parâmetros, capitaliza o primeiro caractere de cada palavra (incluindo acrônimos com mais de duas letras), como mostrado nos exemplos a seguir:
PropertyDescriptor
HtmlTag
A convenção PascalCasing, usada apenas para nomes de parâmetros, capitaliza 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 em forma de camelo são ambas minúsculas.
propertyDescriptor
ioStream
htmlTag
✔️ DO use PascalCasing para todos os nomes de membros públicos, tipos e namespace consistindo de múltiplas palavras.
✔️ DO use camelCasing para nomes de parâmetros.
A tabela seguinte descreve as regras de capitalização para diferentes tipos de identificadores.
Identifier | Casing | Exemplo |
---|---|---|
Namespace | Pascal | namespace System.Security { ... } |
Type | Pascal | public class StreamReader { ... } |
Interface | Pascal | public interface IEnumerable { ... } |
Método | Pascal | public class Object { public virtual string ToString(); } |
Propriedade | 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 nominal | Pascal | public enum FileMode { Append, ... } |
Parameter | Camel | public class Convert { public static int ToInt32(string value); } |
Capitalizando Palavras Compostas e Termos Comuns
Os termos mais compostos são tratados como palavras únicas para fins de capitalização.
❌ NÃO capitalize cada palavra nas chamadas palavras compostas de forma fechada.
Estas são palavras compostas escritas como uma única palavra, tais como endpoint. Para fins de orientações de caixa, trate uma palavra composta de forma fechada como uma palavra única. Use um dicionário atual para determinar se uma palavra composta é escrita de forma fechada.
Pascal | Camel | 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 |
Sensibilidade do caso
Línguas que podem correr no CLR não são necessárias para suportar o casosensibilidade, embora alguns o façam. Mesmo que o seu idioma o suporte, outros idiomas que possam não ter acesso à sua estrutura não o fazem. Qualquer API que seja acessível externamente, portanto, não pode depender apenas da caixa para distinguir entre dois nomes no mesmo contexto.
❌ NÃO assuma que todas as linguagens de programação são sensíveis a maiúsculas e minúsculas. Elas não são. Os nomes não podem diferir apenas por caso.
Portions © 2005, 2009 Microsoft Corporation. Todos os direitos reservados.
Reimpresso com a permissão da Pearson Education, Inc. das Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition by Krzysztof Cwalina and Brad Abrams, published Oct 22, 2008 by Addison-Wesley Professional as part of the Microsoft Windows Development Series.
>
Veja também
>
- >
- Framework Design Guidelines
- Naming Guidelines
>
>