lower - naming variables in java
Acrónimos en Camel Back (6)
Creo que, en general, los nombres de clase deben escribirse como espera que se lean. Por ejemplo, cuando pronuncio el nombre de clase en voz alta, diría "lector de XML", así que nombraría la clase "XMLReader". Sin embargo, nombraría una clase hipotética de "servicio REST" "RestService", ya que, en general, "REST" no se pronuncia "REST" sino "resto". Para algo como "SQL", podría ir de cualquier manera, ya que algunas personas dicen "SQL" y otros dicen "secuela". Pero realmente todo se reduce a las preferencias personales.
A menudo veo nombres de clase Java como
XmlReader
en lugar de
XMLReader
Mi intuición es acrónimos completamente en mayúsculas, pero aparentemente muchas personas piensan de manera diferente. O tal vez es solo porque muchos generadores de código tienen problemas con los acrónimos ...
Entonces me gustaría escuchar la opinión pública. ¿Cómo capitalizas tus nombres de clase que contienen acrónimos?
Dos razones:
- Es más fácil distinguir dónde termina un acrónimo y el otro comienza con identificadores donde se colocan uno después del otro, por ejemplo en
XmlHtmlConverter
. Ahora XML y HTML no son tan buenos ejemplos, porque todos saben qué es XML y qué es HTML. Pero a veces verá acrónimos menos obvios y entonces esto se vuelve importante. - Eclipse es inteligente con las palabras y sus iniciales. Para
XmlHtmlConverter
, puede escribirXHC
en el cuadro de diálogo Abrir tipo y lo encontrará. Para unXMLHTMLConverter
, las iniciales seríanXMLHTMLC
que, por supuesto, es un poco más larga.
Encuentro que XMLReader es más difícil de leer. La razón es que no se puede decir fácilmente dónde se separan las palabras. Creo que se deberían aceptar acrónimos con minúsculas. Puede usar mayúsculas para las definiciones de clase, pero ¿qué pasa con las variables de instancia?
XmlReader xmlReader;
Aquí tienes que usar minúsculas de todos modos.
Para los acrónimos uso la siguiente regla:
Si el acrónimo es de longitud 2, ponga el acrónimo en mayúscula.
For Ex : UIRule
Si el acrónimo es de mayor longitud, uso la cubierta pascal para el acrónimo
For Ex : SmsValidation, XmlReader
Pascal Case se usa en .NET framework. Asi que
XmlReader
es preferido en entornos de Microsoft.
Tengo que estar de acuerdo con AronVanAmmers en que es más fácil de leer que la alternativa.
Referencia: Pautas de diseño de Microsoft para desarrolladores de bibliotecas de clase
Usamos la convención de casos de camello como Java y .NET do. No por razones de generadores de código, sino por legibilidad. Considere el caso de combinar dos acrónimos en un nombre, por ejemplo, una clase que convierta XML en HTML.
XMLHTMLConverter
o
XmlHtmlConverter
¿Cuál prefieres?