Esto es un poco pedante, pero he visto que algunas personas usan Id
como en:
private int userId;
public int getUserId();
y otros usan:
private int userID;
public int getUserID();
¿Es uno de estos un mejor nombre que el otro? ¿Por qué? He visto esto hecho de manera muy inconsistente en grandes proyectos. Si tuviera que establecer un estándar, ¿con qué estaría familiarizada la mayoría de la gente? ¿Cuál es el estándar convencional?
SAXParser
yDOMException
.NET clases de nombres comoXmlDocument
. Basado en eso, diría "ID" en Java, "Id" en C #.EGO
ySuperEGO
? No lo creo. ;)Respuestas:
La regla más importante a seguir en estos casos es la coherencia: haz lo que todos los demás hacen.
Por ejemplo, mire las API XML de su idioma para ver cómo lo hacen.
Clases de nombres Java como SAXParser y DOMException , clases de nombres .NET como XmlDocument .
Basado en eso, diría "ID" en Java, "Id" en C #.
Sin embargo, he visto que Java EE 6 tiene una anotación llamada
@Id
(ver documentación ), por lo que parece que Java considera "Id" como una palabra normal.fuente
@Id
dice que es una sola palabra, por lo que el nombre de la variable sería "id".Id
en C # (y .NET en general), pero por una razón diferente. La regla es poner en mayúscula todas las letras de un acrónimo de 2 letras (por ejemploIPAddress
) y solo poner en mayúscula la primera letra de acrónimos más largos (como el ejemplo queXmlDocument
usted dio). PeroId
yOk
son las excepciones a esta regla, específicamente mencionadas. Para el resumen completo, vea laCapitalization Rules for Acronyms
sección delCapitalization Conventions
artículo. Pero incluso Microsoft rompe esa regla (por ejemplo,DbConnection
vs.DBNull
)La consistencia es el rey; elige uno u otro, pero hazlo consistentemente en todas partes.
Dicho esto, prefiero la primera variación, porque no viola camelCase (hacerlo significa que tienes dos reglas de estilo para recordar, no solo una).
A veces se usan dos letras mayúsculas debido a esto , pero una identificación es realmente solo una forma de identificación.
fuente
userIdOfSender
SenderUserId
TL; DR: en el contexto de las bibliotecas de clases .NET, Microsoft recomienda que utilice Id. Esto es ligeramente contra-intuitivo, ya que es un raro ejemplo de una abreviatura que está permitida / recomendada (las abreviaturas generalmente están mal vistas).
Si hablamos de convenciones de bibliotecas de clase C # o .NET, Microsoft tiene disponibles algunas pautas de nomenclatura bastante bien definidas . Están bien pensados, con muchas explicaciones sobre una variedad de problemas; en realidad, cada desarrollador debería tomarse un tiempo para leer toda la sección de Pautas de diseño .
Cuando se trata de acrónimos , la regla general es: para los acrónimos de dos letras, tiende a mantenerlos en mayúsculas (donde es aplicable el caso de Pascal), por lo que, por ejemplo,
IOStream
podría ser el nombre de una clase. Para un acrónimo más largo, minúsculas el resto del acrónimo, por ejemplo,XmlDocument
oHtmlParser
. Esta es en realidad una regla mayormente inequívoca (no hay confusión en cuanto a dónde termina una palabra y comienza la siguiente, a menos que esté encadenando acrónimos de dos letras), y se acostumbra muy rápidamente.Entonces, ¿es ID o Id? Bueno, según Microsoft, podría no ser lo que piensas:
Como anécdota, no estoy seguro de cuándo comenzó a aparecer esta distinción en las pautas, pero hace unos años (alrededor de 3.0 / 3.5) la tendencia general de nombres en las bibliotecas de clases pasó de ID a Id.
fuente
Leí una muy buena explicación en el documento de algunas convenciones de codificación. CamelCase siempre debe usarse para acrónimos y abreviaturas, porque es más fácil distinguir los límites de las palabras (comparar
XmlIdWriter
conXMLIDWriter
).fuente
xml_id_writer
.Como podemos ver en la función predeterminada de JavaScript getElementById (); La identificación está escrita en el caso Camel ...
Use 'id' si lo usa con un guión bajo. Ejemplo: id_usuario
Use 'Id' si nombra una var sin subrayado para diferenciar las diferentes palabras. Ejemplo: userId
Si es una variable de una sola palabra, debe estar en minúscula completa, si hay varias palabras var, use minúsculas en Camel. Ejemplo: thisIsExample
Pero no recomendaría 'ID' en mayúsculas porque generalmente utilizamos mayúsculas para definir CONSTANTES.
fuente
Primero, evite la abreviatura.
En segundo lugar, si la abreviatura es muy conocida, recomiendo usar el caso camel.
Eso es porque no es necesario tener en cuenta el significado de eso. solo trata como una palabra normal
fuente