Buscar
Social
Ofertas laborales ES
« IBM Websphere Portal 6.1 con soporte a JSR-268 | Main | Listado de decompiladores Java »
lunes
jun302008

Sobre los nombres de clases en Java

Recientemente, en reddit comentaban sobre esta clase del modulo de AspectJ para Eclipse desarrollada por Adrian Colyer:

HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor

No se si es la clase con el nombre más largo que exista pero es un buen ejemplo de las prácticas de Java, un nombre así tan descriptivo evita la necesidade documentar su uso, pero por otro lado venga algo como la clase del ejemplo es ridículo. Hace que el programar sin un IDE que te autocomplete imposible además que según que SO te pueden dar problemas nombres tan largos. 

Las code conventions de Sun, no mencionan nada acerca de la longitud de los nombres de clase pero dicen que se deben evitar usar abreviaciones y acrónimos, lo que obviamente lleva a usar nombres de clase largos.

Regresando al ejemplo de AspectJ, la clase la desarrolló Adrian Colyer, CTO de SpringSource y uno de los principales promotores de la AOP. Vamos, que no es ningún principiante en Java, pero que también es famoso por su sentido del humor inglés (ver la variable llamada ohYesItHas en la misma clase) basta recordar que en el SpringOne de 2007 para enseñar duck typing sacó una marioneta de un pato y se puso a teclear en su portátil. Es interesante ver que ese sentido del humor también se traslada a su código.

La pregunta es, si las convenciones no nos mencionan ninguna limitante para nombrar nuestras clases e internamente se manejan como Identifiers por lo que en teoría pueden tener cualquier longitud (aunque al parecer no en todos los SO te lo permiten) ¿Vosotros aplicáis alguna regla de dedo para determinar la máxima longitud en el nombre de las clases? Si no lo hacés, ¿cómo evitar casos ridículos como el del ejemplo aquí dado?

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.
Comentarios deshabilitados
Comentarios deshabilitados en esta noticia.