Optimización de código
Métodos con Pocos Parámetros
Mantener un número reducido de parámetros en los métodos mejora la legibilidad del código, facilita su mantenimiento y reduce la posibilidad de errores. Cuando un método recibe demasiados parámetros, puede ser difícil de entender y propenso a problemas como el cambio accidental del orden de los valores al llamarlo.
Ejemplo incorrecto: Método con demasiados parámetros
Cuando un método recibe demasiados parámetros, puede volverse difícil de manejar y propenso a errores.
1class Usuario { 2 void registrarUsuario(String nombre, String apellido, String direccion, String telefono, String email, String fechaNacimiento) { 3 System.out.println("Usuario registrado: " + nombre + " " + apellido); 4 } 5}
Problema
- Difícil de leer y comprender.
- Si el orden de los parámetros cambia, es probable que se generen errores.
- Se dificulta la extensión del método en el futuro.
Ejemplo optimizado: Uso de una estructura de datos
En lugar de usar múltiples parámetros, podemos utilizar una clase u objeto para representar los datos.
1class Usuario { 2 String nombre; 3 String apellido; 4 String direccion; 5 String telefono; 6 String email; 7 String fechaNacimiento; 8 9 public Usuario(String nombre, String apellido, String direccion, String telefono, String email, String fechaNacimiento) { 10 this.nombre = nombre; 11 this.apellido = apellido; 12 this.direccion = direccion; 13 this.telefono = telefono; 14 this.email = email; 15 this.fechaNacimiento = fechaNacimiento; 16 } 17} 18 19class Registro { 20 void registrarUsuario(Usuario usuario) { 21 System.out.println("Usuario registrado: " + usuario.nombre + " " + usuario.apellido); 22 } 23}
Ejemplo incorrecto: Métodos con múltiples parámetros numéricos
Cuando un método recibe múltiples parámetros del mismo tipo, es difícil recordar el orden correcto.
1public class Calculo { 2 double calcularPrecio(double precioBase, double descuento, double impuesto, double envio) { 3 return precioBase - descuento + impuesto + envio; 4 } 5}
Problema
- Difícil de entender qué significa cada número cuando se llama a la función.
- Propenso a errores si los parámetros se pasan en el orden incorrecto.
Ejemplo optimizado: Uso de una estructura de datos para agrupar valores
Aquí agrupamos los parámetros en una estructura que hace más legible y fácil de usar la función.
1class PrecioInfo { 2 double precioBase; 3 double descuento; 4 double impuesto; 5 double envio; 6 7 public PrecioInfo(double precioBase, double descuento, double impuesto, double envio) { 8 this.precioBase = precioBase; 9 this.descuento = descuento; 10 this.impuesto = impuesto; 11 this.envio = envio; 12 } 13} 14 15public class Calculo { 16 double calcularPrecio(PrecioInfo info) { 17 return info.precioBase - info.descuento + info.impuesto + info.envio; 18 } 19}