2012-06-11 19 views
9

Mi pregunta: ¿Los nombres de las variables constantes de Java (dentro de los métodos) deben estar en mayúsculas?¿Debo usar la denominación en mayúsculas para declarar las variables constantes de Java?

Siempre he tenido la impresión de que

a) si una variable nunca va a cambiar, debe ser declarada definitiva (para mostrar/hacer cumplir que no va a cambiar) b) debería ser nombrado en mayúsculas

Sin embargo, me he dado cuenta en eclipse, cuando se cambia una variable (dentro de un método) a ser definitiva/constante, y posteriormente refactorización/cambiar el nombre a algo así como a continuación:

final int NODE_COUNT = 3; 

Aparece la siguiente advertencia:

No se recomienda este nombre. Según la convención, los nombres de las variables locales deben comenzar con una letra minúscula.

Lo que me hace preguntarme si la regla de mayúsculas no se aplica en esta instancia (es decir, la variable final dentro de un método).

+1

siento ser frívolo, pero ¿alguien más encuentra divertida la frase "variables constantes"? – PeteH

+2

Al volver a leerlo, me doy cuenta de que esto es un oxímoron, y probablemente sean las variables finales (???), aunque a menos que esté equivocado, una vez que se ha declarado una variable final, es definitiva, y entonces en ese punto también se vuelve no variable, haciendo de nuevo que la "variable final" sea un oxímoron. ¿Hay alguna otra forma de describir esto? – Jonny

+1

+1 jonny, ¡no pienses demasiado en esto! – PeteH

Respuesta

5

Dentro de los métodos no tiene constantes, solo tiene variables locales, que pueden ser final. Entonces el uso de camelCase normal comenzando con minúsculas es perfecto para eso.

2

Las constantes de clase también deben ser static (lo que las hace a nivel de clase en lugar de a nivel de instancia), en cuyo caso Eclipse no le advertirá sobre el uso de mayúsculas.

Las constantes del método deberían tener identificadores que comiencen con una letra minúscula, así que estoy de acuerdo con su conclusión.

+0

Gracias, aunque dentro de un método cuando agrego 'static', obtengo un 'modificador ilegal para el parámetro NODE_COUNT; solo se permite el error 'final', por lo que se supone que no pude usar estática dentro de un método. – Jonny

+0

@jonny no se puede agregar el modificador 'static' a la variable dentro de cualquier método (no importa si es estático o no). El método debe ser dinámico: usted tiene su lógica allí, por lo que su parte no se puede definir como estática ... sin embargo, de cource puede usar los archivos estáticos de su clase, que son constantes. – dantuch

Cuestiones relacionadas