2012-04-27 29 views
10

Empecé a programar en java hace 2 años. Las personas mayores de nuestro proyecto en ese momento me habían aconsejado agregar 'obj' al nombre del objeto que se está creando.Convención de nomenclatura para objetos en java

Ex:

Car objCar = new Car("Ferrari"); 

Aquí objCar es lo que estoy hablando. Pero muchos en el desbordamiento de Stack se habían opuesto a él y ahora me parece que esta no debería ser la forma en que debería hacerse el nombre de un objeto. Soy claro al nombrar convenciones cuando se usan colecciones, pero estoy confundido cuando se crean objetos de clases generales.

¿Alguien puede arrojar algo de luz sobre él?

+2

Todo en Java excepto los tipos primitivos son objetos. ¿Prefijo 'obj' en cada nombre de variable? – Gabe

+0

esto 'obj ...' cosas si de los viejos tiempos. –

+1

si para usted es más simple identificar su atributo ... ¿por qué no con "obj" – Neifen

Respuesta

25

Solo llámalo car. Hungarian notation no es utilizado por Sun/Oracle.

Nombre sus variables de una manera que describa su use. Pero no necesita indicar el tipo en el nombre de la variable. Ya ha especificado el tipo en la declaración de la variable. Los IDE le mostrarán el tipo de variable si pasa el mouse sobre ellos para que la información esté siempre disponible.

Debe usar lowercaseStartingCamelCase para nombres de variables y métodos, y UppercaseStartingCamelCase para los nombres de clase.

Si desea leer cómo Sun/Oracle hacen las cosas, puede leer su Code Conventions for the Java Programming Language.

+0

¿Qué estándares se siguen al nombrar los objetos? ¿Solo el nombre de la clase con una pequeña letra en mayúscula al principio? –

+0

@Ajj Considere nombrar algo significativo, como para qué sirve/se usa. Ese es el "estándar". Si se refiere a estándares gramaticales, los nombres de variables comienzan con una letra minúscula y usan camelCase. –

+0

Estoy de acuerdo con los métodos de acceso y mutación de nombres. Simplemente estoy confundido con las clases generales como 'Coche', 'Estudiante', 'Máquina', etc. –

2

Nombre sus objetos como son, facilita la lectura y la refacturación.

1

convenciones de nomenclatura para objetos en java son solo nombres. Por ejemplo

Car car = new Car("Ferrari"); 

Los restos de la notación húngara han sido abandonados debido principalmente al apoyo añadido el IDE de haber proporcionado para la navegación.

+0

Ok. Así que así es como se hace en su mayoría? –

-1

Siendo usted el mayor, después de todo, puedo sugerirle alguna convención de nombres relacionada con sus dudas. Como sabemos que todos los nombres de clase son comenzados con la primera letra mayúscula, supongamos que la clase "MyTest" cuando el objeto que necesitamos crear de esta clase debe ser "mytest". El nombre del objeto debe tener este formato. De acuerdo con el proyecto de jakarta menifesto encontré este tipo de convección y son siguiente. Además de jakarta, Sun API incluso IDE para el desarrollo también están utilizando esto. Espero que te ayude. Sí, soy nuevo. Gracias por tu valiosa información.

+0

Manoj, parece que eres nuevo en SO. Estimado, etc., no son términos admitidos en SO y la respuesta no necesita ser formateada con código. – kosa

+0

Gracias por su información útil. –

0

nombre de la clase en minúsculas es Sun/Oracle estándar.

cuando se está trabajando para una empresa,

dependiendo de las convenciones de nomenclatura proyecto puede variar.

Car car=new Car(); //good to follow 

si es Singleton pattern, le puede dar un nombre, como a continuación

private static final Car singletonCar=new Car(); 
+1

Los Singletons no se deben identificar en el nombre del campo. El hecho de que sean singletons solo debería ser visible cuando se inicializa el campo. Si se necesita algo más, entonces es una señal de que algo se está haciendo mal. En su ejemplo, lo incorrecto es que permite más de una instancia de su automóvil-singleton. – Torben

+0

editado. Hay muchas maneras de crear un singleton, es una de ellas. Este tipo de convención de nombres se mantiene solo para facilitar la lectura. –

+1

La idea de singleton es que solo puede inicializar una instancia del objeto. Un campo final no le impide crear dos objetos de Carro. Debes construir la restricción en el objeto Auto. Inicializar singletons está bastante bien documentado. Por favor, busque Google. Una vez que haya adquirido una referencia a un singleton, no debería haber ninguna necesidad de etiquetarlo como singleton en el nombre del campo. El singleton debe implementarse de una manera tan robusta que el usuario no tenga que saberlo después de la inicialización. Debe actuar como cualquier otro objeto compartido por muchos hilos. – Torben

4

Su ejemplo es un poco demasiado trivial.En realidad, nunca nombraría un campo de tipo de objeto "Coche" como "automóvil". Del mismo modo, nunca se nombra un tipo de "Entero" como "entero".

En su lugar, los nombres de uso le dicen al lector para qué se utiliza el campo. Algunos ejemplos:

private Transport preferredTransportMethod; 

private int invoiceCounter; 

El tipo de campo prefijo no se usa comúnmente es Java. Sin embargo, los miembros de la clase a veces llevan el prefijo "m" en minúscula para evitar autoasignaciones accidentales en los métodos setter.

private long mTripDurationMillis; 
Cuestiones relacionadas