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

  1. Reutilización: La clase User puede usarse en otros contextos.
  2. Legibilidad: La función createUser tiene un único parámetro, haciendo el código más claro.
  3. Mantenibilidad: Los cambios en la estructura de User solo afectan su clase, no todas las funciones que la usan.
  4. Extensibilidad: Es más fácil añadir nuevos atributos a User sin 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...