Manejo de atributos y variables en Java
- Área: Reglas Generales de Construcción de Aplicaciones Java
- Tipo de pauta: Directriz
- Carácter de la pauta: Obligatoria
Los atributos y variables en Java deben declararse y emplearse según estas recomendaciones para minimizar los errores y generar código más seguro y eficiente.
Pautas
Nunca declarar como público un atributo de una clase
Los atributos deben declararse privados (private) excepto los que se pretenda que sean accesibles por herencia que deben ser protegidos (protected). Se debe evitar el uso de datos públicos. Siguiendo los principios de la programación orientada objetos, no debemos de dar el control a desarrolladores externos sobre la estructura interna de la clase.
Favorecer el uso de Protected en lugar de Private
A no ser que haya razones muy importantes para negar el uso de un atributo o un método en las subclases. Esto implica un mayor control sobre los valores, ya que los definidos como protected pueden ser accedidos desde clases externas.
Minimizar el uso de atributos static
Usar atributos static es similar al uso de variables globales dentro de otros lenguajes de programación. Hay que tener cuidado porque convierte a los métodos en más dependientes del contexto y menos reutilizables.
Usar final para variables y argumentos que no cambien de valor
Es interesante dejar claro que no van a cambiar de valor para evitar controlar estas variables.
Hacer static los atributos final que se asocien a una constante en tiempo de compilacion
Si un atributo final es asignado a una constante en tiempo de compilación, podría ser estática (static), lo que ahorra gastos en cada objeto en tiempo de ejecución.
Asegurar que los atributos estáticos tenga valores válidos
Incluso aunque aun no se haya creado instancia alguna, hay que asegurar el correcto funcionamiento de las partes estáticas no privadas y por ende, se deben inicializar.
Usar Variables nuevas y controlar el numero de las mismas
Cuando tengamos necesidad de una variable, no reutilizar las definidas que ya no se van a usar más dentro de nuestro código. Así mismo controlar que se usan las variables necesarias sin crear más de las debidas.
Tipo de las variables para uso monetario
No es recomendable usar variables de tipo float o double para realizar cálculos monetarios precisos. Esto es debido a que introducen pequeños márgenes de imprecisión que pueden producir errores en los cálculos. Es recomendable utilizar la API proporcionada por Java , java.math.BigDecimal, que permite realizar cálculos con punto flotante con la precisión requerida.
No asignar las variables o parámetros a sí mismas ni hacer asignaciones nulas
Este método contiene una asignación de una variable local a sí misma:
public void foo () {
int x = 3;
x = x;
}
Tales asignaciones son inútiles y puede indicar un error de lógica o un error tipográfico.