¿Debería nombrarse la variable Id o ID? [cerrado]

113

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 nombre mejor que el otro? ¿Por qué? He visto esto hecho de manera muy inconsistente en grandes proyectos. Si tuviera que establecer un estándar con el que la mayoría de la gente estaría familiarizada? ¿Cuál es el estándar convencional?

    
pregunta Adam 07.02.2013 - 19:00
fuente

6 respuestas

49

La regla más importante a seguir en estos casos es la consistencia: hacer lo que hacen los demás.

Por ejemplo, mire las API XML de su idioma para ver cómo lo hacen.

clases de nombres Java como SAXParser y < a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/DOMException.html"> DOMException , clases de nombres .NET como XmlDocument .

En base a eso, diría "ID" en Java, "Id" en C #.

Sin embargo, he visto que Java EE 6 tiene una anotación llamada @Id (consulte documentación ), por lo que parece que Java considera que" Id "es solo una palabra normal.

    
respondido por el luiscubal 11.02.2013 - 22:30
fuente
107

La consistencia es rey; elija uno u otro, pero hágalo constantemente en cualquier lugar.

Dicho esto, prefiero la primera variación, porque no viola camelCase (hacerlo significa que tienes que recordar dos reglas de estilo, no solo una).

A veces se usan dos letras mayúsculas debido a esto , pero una ID es realmente solo una forma de identificación.

    
respondido por el Robert Harvey 07.02.2013 - 19:10
fuente
73

TL; DR: En el contexto de las bibliotecas de clase .NET, Microsoft recomienda que uses Id. Esto es ligeramente contraintuitivo, ya que es un ejemplo raro de una abreviatura permitida / recomendada (las abreviaturas generalmente están mal vistas).

Si estamos hablando de convenciones de biblioteca de clases C # o .NET, Microsoft tiene algunas denominaciones bastante bien definidas directrices disponibles. Están bien pensados, con muchas explicaciones sobre una variedad de temas: en realidad, cada desarrollador debería tomarse un tiempo para leer todo el Directrices de diseño .

Cuando se trata de acrónimos , la regla de oro es: para acrónimos de dos letras, tiendes a mantenerlos en mayúsculas (donde es aplicable el caso de Pascal), por ejemplo, IOStream podría ser el nombre de una clase. Para un acrónimo más largo, escribe con minúscula el resto del acrónimo, p. Ej. XmlDocument o HtmlParser . Esta es en realidad una regla casi 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, puede que no sea lo que piensas:

  

Siglas se diferencian de abreviaturas en que una abreviatura acorta una sola palabra. Por ejemplo, ID es una abreviatura para el identificador . En general, los nombres de las bibliotecas no deben usar abreviaturas.

     

Las dos abreviaturas que se pueden usar en los identificadores son ID y OK. En los identificadores en cascos de Pascal, deben aparecer como Id y Ok. Si se usan como la primera palabra en un identificador en camello, deben aparecer como id y ok, respectivamente.

Como anécdota, no estoy seguro de cuándo comenzó a aparecer esta distinción en las directrices, pero hace unos años (alrededor de 3.0 / 3.5), la tendencia general de los nombres en las bibliotecas de clase pasó de ID a Id.

    
respondido por el Daniel B 07.02.2013 - 19:42
fuente
14

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 (compare XmlIdWriter con XMLIDWriter ).

    
respondido por el gilden 07.02.2013 - 22:42
fuente
0

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

Usa 'Id' si nombras una var sin ningún guión bajo para diferenciar las diferentes palabras. Ejemplo: ID de usuario

Si es una variable de una sola palabra, debe estar en minúsculas completas, si la palabra var es múltiple, utilice una caja inferior de Camel. Ejemplo: thisIsExample

Pero no recomendaría "ID" en CAPS porque generalmente usamos mayúsculas para definir CONSTANTES.

    
respondido por el Sukrit Gupta 08.02.2013 - 10:39
fuente
0

Primero, evita las abreviaturas.

Segundo, si la abreviatura es muy conocida, recomiendo usar la funda de camello.

Eso es porque no es necesario considerar el significado de eso. solo trata como una palabra normal

    
respondido por el Sungguk Lim 23.02.2013 - 21:38
fuente

Lea otras preguntas en las etiquetas