Normas referentes al uso de minúsculas y mayúsculas
Nota:
Este contenido se ha copiado con permiso de Pearson Education, Inc. de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2ª edición. Esa edición se publicó en 2008 y el libro se ha revisado completamente en la tercera edición. Parte de la información de esta página puede estar obsoleta.
En las directrices de este capítulo se ofrece un método sencillo para usar casos que, cuando se aplican de forma coherente, hacen que los identificadores de tipos, miembros y parámetros sean fáciles de leer.
Reglas de capitalización para los identificadores
Para diferenciar las palabras de un identificador, ponga en mayúsculas la primera letra de cada palabra del identificador. No use caracteres de subrayado para diferenciar palabras, o para ese caso, en ningún lugar de los identificadores. Hay dos maneras adecuadas de usar los identificadores en mayúsculas, en función del uso del identificador:
PascalCasing
camelCasing
La convención PascalCasing, que se usa para todos los identificadores excepto los nombres de parámetro, escribe en mayúsculas el primer carácter de cada palabra (incluidos los acrónimos de dos letras de longitud), como se muestra en los ejemplos siguientes:
PropertyDescriptor
HtmlTag
Se hace un uso especial de las mayúsculas para los acrónimos de dos letras en los que ambas letras se escriben en mayúsculas, tal como se muestra en el identificador siguiente:
IOStream
La convención camelCasing, que solo se usa para los nombres de parámetro, escribe en mayúscula el primer carácter de cada palabra, excepto la primera palabra, como se muestra en los ejemplos siguientes. Como también se muestra en el ejemplo, los acrónimos de dos letras que comienzan un identificador con grafía Camel están en minúsculas.
propertyDescriptor
ioStream
htmlTag
✔️ USE PascalCasing para todos los nombres de miembro, tipo y espacio de nombres públicos que constan de varias palabras.
✔️ USE camelCasing para los nombres de parámetro.
En la tabla siguiente se describen las reglas de uso de mayúsculas para distintos tipos de identificadores.
Identificador | Uso de mayúsculas y minúsculas | Ejemplo |
---|---|---|
Espacio de nombres | Pascal | namespace System.Security { ... } |
Tipo | Pascal | public class StreamReader { ... } |
Interfaz | Pascal | public interface IEnumerable { ... } |
Método | Pascal | public class Object { public virtual string ToString(); } |
Propiedad | 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 enumeración | Pascal | public enum FileMode { Append, ... } |
Parámetro | camelcase | public class Convert { public static int ToInt32(string value); } |
Uso de palabras compuestas en mayúsculas y términos comunes
La mayoría de los términos compuestos se tratan como palabras únicas a efectos del uso de mayúsculas.
❌ NO escriba en mayúsculas cada palabra en las llamadas palabras compuestas formadas por dos lexemas.
Se trata de palabras compuestas escritas como una sola palabra, como pasacalles. Para las directrices del uso de mayúsculas y minúsculas, trate una palabra compuesta formada por dos lexemas como una sola palabra. Use un diccionario actual para determinar si una palabra compuesta está formada por dos lexemas.
Pascal | camelcase | 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 |
Distinción entre mayúsculas y minúsculas
Los lenguajes que se pueden ejecutar en CLR no están obligados a admitir la distinción entre mayúsculas y minúsculas, aunque algunos lo hacen. Incluso si el lenguaje lo admite, otros lenguajes que podrían tener acceso a su marco no lo hacen. Por lo tanto, las API a las que se puede acceder externamente no pueden basarse solo en mayúsculas y minúsculas para distinguir entre dos nombres en el mismo contexto.
❌ NO suponga que todos los lenguajes de programación distinguen mayúsculas de minúsculas. pero no lo son. Los nombres no pueden diferir solo por las mayúsculas y minúsculas.
Portions © 2005, 2009 Microsoft Corporation. Todos los derechos reservados.
Material reimpreso con el consentimiento de Pearson Education, Inc. y extraído de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition (Instrucciones de diseño de .NET Framework: convenciones, expresiones y patrones para bibliotecas .NET reutilizables, 2.ª edición), de Krzysztof Cwalina y Brad Abrams, publicado el 22 de octubre de 2008 por Addison-Wesley Professional como parte de la serie Microsoft Windows Development.