Consejos para el diseño de clases en Java
1. Mantenga siempre los datos privados
Esto es lo primero: hacer cualquier otra cosa violaría la encapsulación. Puede que ocasionalmente tenga que escribir un método modificador o de acceso, pero es poco precio por mantener privados los campos instaciados. Amargas experiencias han demostrado que la forma en que los datos son representados puede cambiar, pero el modo en cómo se usan cambia con mucha frecuencia.
Cuando los datos se mantienen privados, los cambios en su interpretación no afectan al usuario de la clase, y los errores son mas fáciles de descubrir.
2. Inicialice siempre los datos
Java no le hará el trabajo de inicializar las variables locales, pero sí puede inicializar los campos
instanciados de los objetos. No cuente con los valores predeterminados y asigne explícitamente
los valores de las variables, bien suministrando un valor predeterminado o estableciendo valores
predeterminados en todos los constructores.
3. No utilice demasiados tipos básicos en una clase
La idea es sustituir los distintos usos de los tipos básicos relacionados con otras clases. Esto hace que sus clases sean más faciles de entender y modificar.
4. No todos los campos necesitan campos de acceso y modificación individuales.
Puede que tenga que establecer u obtener el salario de un empleado. Sin embargo, no tendrá que cambiar la fecha de contratación una vez que el objeto se ha construido. Y, con mucha frecuencia, los objetos tendrán campos instanciados que no deseará que otros usuarios puedan obtener o asignar, como, por ejemplo, un array de abraviaturas de estados en una clase Address.
5. Utilice un formato estándar para las definiciones de clase
Los contenidos de un clase siempre deben listarse de la siguiente forma:
- características públicas
- características de ámbito del paquete
- características privadas
- métodos instanciados
- métodos estáticos
- campos instanciados
- campos estaticos
6. Divida las clases con demasiadas responsabilidades
Este consejo es, desde luego, bastante vago: seguramente se habrá fijado en la palabra "demasiadas". Sin embargo, existe una forma obvia de dividir una clase complicada en dos que sean conceptualmente más sencillas, hágalo. Pero no se pase; diez clases, con un método cada una, es escesivo.
7. Haga los nombres de sus clases y métodos reflejen lo que hacen.
Al igual que las variables deben tener nombres consecuentes con su utilidad, las clases también deben tenerlos (la biblioteca estándar contiene algunos ejemplos dudosos, como la clase Date que describe instantes de tiempo). Para los métodos, siga el convenio estándar que dice que los métodos de acceso comienzan con un get en minúscula y los de modificación, con un set también en minúscula.
Fuente: Java 2 Fundamentos, Cay S. Horstmann / Gary Cornell
No Comment
Publicar un comentario