2009-07-24 10 views
36

A menudo veo los nombres de clases de Java comosiglas en Camel Back

XmlReader 

en lugar de

XMLReader 

Mi sensación es que las siglas de casos completamente superiores, pero parece que muchas personas piensan de manera diferente. O tal vez es solo porque muchos generadores de código tienen problemas con los acrónimos ...

Así que me gustaría escuchar la opinión pública. ¿Cómo capitalizas tus nombres de clase que contienen acrónimos?

+0

posible duplicado de [Camel nombres de casos: ¿Cómo estricto?] (Http://stackoverflow.com/questions/486870/camel-case-names-how-strict) –

Respuesta

49

Utilizamos la convención de camel case 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 te gusta más?

+11

Este es el enfoque recomendado en Java efectivo también. –

+8

Ok, criar a Bloch lo asegura. – Stroboskop

+2

¿Por qué no XML2HTMLConverter?!?!?!?!?!? –

3

Me parece 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. Es posible que pueda usar mayúsculas para las definiciones de clase, pero ¿qué pasa con las variables de instancia:

XmlReader xmlReader; 

aquí hay que usar minúsculas de todos modos.

+7

+1 'XMLReader xMLReader = new XMLReader (" wtf!? ");' –

+1

Todavía sería 'XMLReader xmlReader = new XMLReader();' XML cuenta como la primera palabra, por lo que descapitaliza todo. – NobleUplift

3

el caso de siglas que utilizo la siguiente regla:

  • Si es el acrónimo de longitud 2, pusieron el acrónimo en mayúsculas.

    For Ex : UIRule 
    
  • Si el acrónimo es de más longitud, uso la carcasa pascal por el acrónimo

    For Ex : SmsValidation, XmlReader 
    
15

Dos razones:

  1. 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.
  2. Eclipse es inteligente con las palabras y sus iniciales. Para XmlHtmlConverter, puede escribir XHC en el cuadro de diálogo Tipo abierto y lo encontrará. Para un XMLHTMLConverter, las iniciales serían XMLHTMLC que, por supuesto, es un poco más larga.
+1

+1 principalmente para la punta de Eclipse (al usar las iniciales). Lo uso para completar automáticamente: XHC . –

0

Creo que, en general, los nombres de clase deben ser escritos como se espera que sean leídos. Por ejemplo, cuando pronuncio el nombre de clase en voz alta, diría "X-M-L reader", así que nombraré la clase "XMLReader". Sin embargo, nombraría una clase hipotética de "servicio REST" "RestService", ya que, en general, "REST" no se pronuncia "R-E-S-T" sino "resto". Para algo como "SQL", podría ir de cualquier manera, ya que algunas personas dicen "S-Q-L" y otros dicen "secuela". Pero realmente todo se reduce a las preferencias personales.