zona verificar reverso registro ptr inversa configurar .net naming-conventions fxcop

.net - verificar - ¿Cuál es la convención de nomenclatura adecuada para una ''ID'' de propiedad: ID o Id?



dns reverso whm (9)

Pregunta bastante simple: cuando tengo un objeto persistente, generalmente tiene una propiedad llamada ID (para clases abstractas).

Entonces ... ¿es la ID o ID de la convención de nomenclatura?

p.ej.

public int ID { get; set; }

o

public int Id { get; set; }

aplausos :)

PD. Esto es para .NET por cierto. La conformación de FXCop sería una ventaja.


Por aquí vemos cosas como "Id" u otros acrónimos como una palabra, y "Id" es fácil porque en el negocio bancario obtenemos muchas combinaciones de letras extrañas. Entonces lo tratamos como una palabra, solo con la primera letra en mayúscula, y así es como terminamos siendo definidos en nuestro documento interno de convenciones de codificación.

Pero la conclusión es: elegir qué convención es más cómoda para el equipo de desarrolladores y otras personas que miran el código fuente y lo siguen.


Como otros señalaron, Id está de acuerdo con las convenciones .NET, pero de alguna manera no se siente bien, muchas personas usan ID (y aún viven).

No sé cuál será el contenido de su campo (números, cadenas, guids), pero si desea omitir el problema, simplemente puede usar otra convención .NET para identificadores de objetos: Nombre


Lo que sea que te gusta, solo sé consistente. ID no es una palabra, es una abreviación de identidad. Cómo escribir abreviaturas es algo sobre lo que las personas discuten durante mucho tiempo. Por ejemplo,

getResourceURL

o

getResourceUrl

en realidad ambos se pueden encontrar en uso en diferentes marcos. Otro abbr popular. con un problema similar es UTF8.

Es importante ser coherente, porque de lo contrario la gente siempre tiene que buscar las mayúsculas correctas para cada método, si cada método lo maneja de una manera diferente.

Tengo mi propia convención para eso. Si el abbr. está al final del nombre, está en mayúscula, si está en otro lugar, sigue las reglas de notación de camello. P.ej

getResourceURL urlOfResource compareUrlToString

¿Por qué? Me gusta abbr. para ser capitalizado La mayoría de las personas esperan que la URL o UTF se capitalicen. Sin embargo, si está en medio de un nombre, destruye la ventaja de la notación de camello. La ventaja de la notación de camello es que puede ver dónde comienza una nueva palabra mediante mayúsculas. Entonces compara:

compareURLToString compareUrlToString

En el primer caso, no veo de inmediato que la URL sea una palabra y A sea la siguiente. La T podría ser parte de la URL (URLT) y ser una abreviatura diferente, así usaré la segunda forma. Si es al final, sin embargo, no tendrá un rol, no hay otra palabra, por lo que prefiero la forma en mayúscula. Me atengo a esta convención a lo largo de todo mi código.


Prefiero la ID, también en combinación con otras palabras (por ejemplo, CustomerID), pero estrictamente hablando eso va en contra de las convenciones de nombres regulares.


Usamos ID internamente, porque Id me parece que habla de psicología, pero FxCop se queja, ya que ID no es un acrónimo, es una abreviación (de Identidad / Identificador). De acuerdo con la regla de FxCop, solo los acrónimos que tienen dos caracteres pueden ser mayúsculas. Todo lo demás debería ser el caso adecuado.

Ponemos un atributo SuppressMessage en la propiedad ID, y todos están contentos.


Usualmente uso el Identificador . Si realmente quiero mantenerlo corto (como parte de un identificador más largo, por ejemplo), uso Id, a menos que sea un parámetro o un miembro privado.

Las Pautas de nombres de .NET Framework dicen esto:

Un acrónimo es una palabra que se forma a partir de las letras de las palabras en un término o frase. Por ejemplo, HTML es un acrónimo de Hypertext Markup Language. Debe incluir acrónimos en los identificadores solo cuando sean ampliamente conocidos y bien entendidos. Los acrónimos difieren de las abreviaturas en que una abreviatura acorta una sola palabra. Por ejemplo, ID es una abreviatura de 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 de Pascal-cased deberían aparecer como Id y Ok. Si se usa como la primera palabra en un identificador de camel-cased, deberían aparecer como id y ok, respectivamente.



"ID" es una de las abreviaturas codificadas en las reglas de nombres de FxCop que siempre se consideran deletreados incorrectos incluso si son partes de otras palabras. La única forma que encontré para anularlo es agregar "ID" a Acronyms as ():

<Dictionary> <Acronyms> <CasingExceptions> <Acronym>ID</Acronym> </CasingExceptions> </Acronyms> </Dictionary>

Funcionó con FxCop 1.36. PD En general, creo que "Id" es una mejor alternativa, pero a veces es imposible cambiar un nombre si se genera en base a archivos XML (o servicios web) que no controlamos


Las directrices dicen "Id".

Afortunadamente, los chicos de .Net tuvieron la amabilidad de darnos "pautas para nombrar" y no de "nombrar leyes";), así que, básicamente, si crees firmemente que romper una regla de referencia agrega más valor que seguirla, entonces, por supuesto, romperla , nadie lo responsabilizará si comprende sus motivos (al igual que proporciona una mayor legibilidad y acentúa el significado del nombre)

En mi tienda usamos ''ID'' incluso si las pautas dicen ''Id'', pero nadie realmente se siente culpable por ello.