private const int THE_ANSWER = 42;
o
private const int theAnswer = 42;
Personalmente, creo que con los IDEs modernos deberíamos ir con camelCase ya que ALL_CAPS parece extraño. ¿Qué piensas?
c#
naming-conventions
const
mmiika
fuente
fuente
theAnswer
. Anteriormente he sido un fanático de la notación húngara, pero desde que aprendí a no usarlo, me encanta evitar estrictamente cualquier metaindicación en la denominación. Lo mismo ocurre con las interfaces comoIInterface
. Yo prefieroInterfacable
. Pero cuando trabajaba en un equipo, tenía que cumplir con las reglas :(Respuestas:
La nomenclatura recomendada y la convención de capitalización es el uso de P Ascal C Asing para constantes (Microsoft tiene una herramienta llamada StyleCop que documenta todas las convenciones preferidos y puede comprobar su fuente para el cumplimiento - aunque es un poco demasiado anal retentiva para el gusto de muchas personas) . p.ej
La convención de capitalización de Pascal también está documentada en las Pautas de diseño del marco de Microsoft .
fuente
Visualmente, Upper Case es el camino a seguir. Es tan reconocible de esa manera. En aras de la singularidad y sin dejar ninguna posibilidad de adivinar, ¡voto por UPPER_CASE!
Nota : La mayúscula será útil cuando se usen constantes dentro del mismo archivo en la parte superior de la página y con fines de inteligencia; sin embargo, si fueran trasladados a una clase independiente, el uso de mayúsculas no haría mucha diferencia, como ejemplo:
fuente
En realidad es
Al menos si observa la biblioteca .NET, qué IMO es la mejor manera de decidir las convenciones de nomenclatura, para que su código no se vea fuera de lugar.
fuente
Todavía uso mayúsculas para los valores constantes, pero esto es más por costumbre que por alguna razón en particular.
Por supuesto, hace que sea fácil ver de inmediato que algo es una constante. La pregunta para mí es: ¿realmente necesitamos esta información? ¿Nos ayuda de alguna manera a evitar errores? Si asigno un valor a la constante, el compilador me dirá que hice algo tonto.
Mi conclusión: ve con la tripa del camello. Quizás también cambie mi estilo ;-)
Editar:
Que algo huele húngaro no es realmente un argumento válido, en mi opinión. La pregunta siempre debe ser: ¿ayuda o duele?
Hay casos en que el húngaro ayuda. No muchos hoy en día, pero todavía existen.
fuente
Primero, la notación húngara es la práctica de usar un prefijo para mostrar el tipo de datos de un parámetro o el uso previsto. Las convenciones de nomenclatura de Microsoft para decir no a la notación húngara http://en.wikipedia.org/wiki/Hungarian_notation http://msdn.microsoft.com/en-us/library/ms229045.aspx
No se recomienda el uso de MAYÚSCULAS como se indica aquí: Pascal Case es la convención aceptable y GRITOS. http://en.wikibooks.org/wiki/C_Sharp_Programming/Naming
Microsoft también declara aquí que MAYÚSCULAS se puede usar si se hace para que coincida con el esquema existente. http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx
Esto prácticamente lo resume.
fuente
En su artículo Constantes (Guía de programación de C #) , Microsoft da el siguiente ejemplo:
Entonces, para constantes, parece que Microsoft recomienda el uso de
camelCasing
. Pero tenga en cuenta que estas constantes se definen localmente .Podría decirse que el nombramiento de constantes externamente visibles es de mayor interés. En la práctica, Microsoft documenta sus constantes públicas en la biblioteca de clases .NET como campos . Aquí hay unos ejemplos:
static readonly
)Los dos primeros son ejemplos de
PascalCasing
. El tercero parece seguir las Convenciones de Capitalización de Microsoft para un acrónimo de dos letras (aunque pi no es un acrónimo). Y el cuarto parece sugerir que la regla para un acrónimo de dos letras se extiende a un acrónimo o identificador de una sola letra comoE
(que representa la constante matemática e ).Además, en su documento de Convenciones de capitalización, Microsoft establece muy directamente que los identificadores de campo deben nombrarse a través de
PascalCasing
y proporciona los siguientes ejemplos para MessageQueue.InfiniteTimeout y UInt32.Min :Conclusión: Uso
PascalCasing
para constantes públicas (que están documentadas comoconst
ostatic readonly
campos).Finalmente, hasta donde yo sé, Microsoft no recomienda convenciones específicas de nomenclatura o capitalización para identificadores privados como se muestra en los ejemplos presentados en la pregunta.
fuente
Deja húngaro a los húngaros.
En el ejemplo, incluso dejaría de lado el artículo definitivo y simplemente iría con
¿Es esa respuesta o es la respuesta?
* Realicé la edición como Pascal estrictamente correcta, sin embargo, pensé que la pregunta buscaba más una respuesta a la vida, el universo y todo .
fuente
The
si pudiera. :-)De hecho, tiendo a preferir PascalCase aquí, pero por costumbre, soy culpable de UPPER_CASE ...
fuente
ALL_CAPS se toma de la forma de trabajo C y C ++, creo. Este artículo aquí explica cómo surgieron las diferencias de estilo.
En los nuevos IDE, como Visual Studio, es fácil identificar los tipos, el alcance y si son constantes, por lo que no es estrictamente necesario.
El software FxCop y Microsoft StyleCop lo ayudará a darle pautas y verificar su código para que todos trabajen de la misma manera.
fuente