Codigo limpio y refactorización
Las funciones o los métodos con demasiados argumentos son difíciles de leer, usar y mantener. Un exceso de parámetros puede indicar una falta de encapsulación. En estos casos, agrupar los argumentos relacionados en una clase o un objeto puede simplificar la función y mejorar su claridad y uso.
Ejemplo Malo: Función con Muchos Argumentos
1public void createUser(String firstName, String lastName, String email, String phone, String address) { 2 System.out.println("Creating user: " + firstName + " " + lastName); 3 System.out.println("Email: " + email); 4 System.out.println("Phone: " + phone); 5 System.out.println("Address: " + address); 6}
Ejemplo Corregido: Encapsulando los Argumentos en una Clase u Objeto
Beneficios
- Reutilización: La clase
Userpuede usarse en otros contextos. - Legibilidad: La función
createUsertiene un único parámetro, haciendo el código más claro. - Mantenibilidad: Los cambios en la estructura de
Usersolo afectan su clase, no todas las funciones que la usan. - Extensibilidad: Es más fácil añadir nuevos atributos a
Usersin modificar múltiples funciones.
1public class User { 2 public String firstName; 3 public String lastName; 4 public String email; 5 public String phone; 6 public String address; 7 8 public User(String firstName, String lastName, String email, String phone, String address) { 9 this.firstName = firstName; 10 this.lastName = lastName; 11 this.email = email; 12 this.phone = phone; 13 this.address = address; 14 } 15 public String getFullName() { 16 return firstName + " " + lastName; 17 } 18} 19 20public void createUser(User user) { 21 System.out.println("Creating user: " + user.getFullName()); 22 System.out.println("Email: " + user.email); 23 System.out.println("Phone: " + user.phone); 24 System.out.println("Address: " + user.address); 25}
- Loading...