2010-10-06 15 views
5

Estoy a punto de crear una clase de usuario para mi proyecto. ¿Alguna opinión sobre si es una mala práctica crear una clase tan comúnmente nombrada? Podría complementarlo con un prefijo específico para mi proyecto.clase de Java "User" naming best practice?

+1

es ese proyecto destinado a ser utilizado como una biblioteca por otros proyectos (y el usuario va a ser una clase pública)? – Thilo

+0

No. Propio proyecto web. En realidad, me siento muy cómodo manteniendo al usuario como usuario, pero también tenemos otro concepto de dominio de una sesión. Aún no he llegado a eso, pero nombrar a alguien ya me está dando acidez estomacal. – Steve

Respuesta

3

Esto es lo que packages son para.

+2

Bueno, puede terminar importando dos paquetes con clase "Usuario". Eso probablemente causaría algunos dolores de cabeza. – rkg

+0

@Ravi, pero si eso fuera un problema, podría consultar las clases por sus nombres completos. –

+2

@Michael: Es cierto, pero creo que daña la legibilidad del código. – rkg

1

El uso de nombres comunes no es una mala práctica, hasta que a menos que describa el nombre como tal para la funcionalidad de la clase. tenga en cuenta crear paquetes adecuados que puedan definir su clase más específicamente.

2

Le sugiero que definitivamente prefija un término específico de la aplicación a su clase de usuario. "Usuario" es demasiado común y vago. Puede terminar fácilmente usando API que tiene una clase o interfaz de "Usuario". Aunque los últimos IDEs hacen que sea relativamente fácil refactorizar su código, sería más sencillo y más limpio si tiene una clase de "Usuario" específica para la aplicación.

+0

Estoy de acuerdo con usted. Comienza a convertirse en un desastre cuando tienes múltiples clases con el mismo nombre. –

0

Debe usar Java package s para evitar conflictos de nombres. No hay nada de malo en usar un nombre común, solo asegúrese de ponerlo en su propio paquete. Por ejemplo, usted podría tener la siguiente estructura:

com/ 
    yourwebsite/ 
     yourproject/ 
      userdata/ 
       User.java 

A continuación, iniciar el archivo "User.java" con:

package com.yourwebsite.yourproject.userdata; 

Cuando se importa, se debería utilizar:

import com.yourwebsite.yourproject.userdata.User; 
+1

Aún sugeriría que las personas no nombren sus clases "Cadena" o "Lista" o "Colección" o "Excepción" o "Conexión" o "Sesión". Estoy de acuerdo con "Usuario", aunque solo sea porque no se usa comúnmente en otros lugares (en mi área de trabajo actual, que tiene muchas bibliotecas, solo hay una en "com.sun.tools.internals ..." y otra en "org" .hsqldb ", ninguno de los cuales es probable que use). – Thilo

+0

@Thilo, sí, ciertamente no usaría nombres que ya estén en uso en ninguno de los paquetes "java. *" O "javax. *", Pero a la fecha no hay clase de usuario en la API de Java. –

1

Siempre trato de usar nombres comunes como Usuario para mayor claridad. Solo asegúrese de que los nombres se extraigan del dominio del problema y del vocabulario existente del proyecto. Esté alerta a las ambigüedades, y si surge, cambie el nombre de la clase. Los IDE modernos con soporte de refactorización automatizado lo hacen fácil.

+0

Sí. Tener el nombre correcto de la clase en el paquete apropiado será lo correcto. Los IDE les gusta IntelliJ, un soporte muy bueno para buscar e importar nombres de clase, incluso puede ser automático. – Jayan

0

Es improbable que este nombre sea utilizado por ninguna API pública, por lo que está bien que una aplicación lo use.