Codigo limpio y refactorización

🔴 Problema con los parámetros booleanos

Pasar true o false como argumento de una función no es claro y puede hacer que el código sea difícil de entender y menos flexible.

Mala práctica: Usar parámetros booleanos

  • No es claro a primera vista qué significa true o false.
  • Si se agregan más tipos de mensajes, la función se vuelve difícil de escalar.
  • Código menos expresivo y difícil de leer.
1public class Notificacion {
2    public void enviarMensaje(String mensaje, boolean esUrgente) {
3        if (esUrgente) {
4            System.out.println("🚨 URGENTE: " + mensaje);
5        } else {
6            System.out.println(mensaje);
7        }
8    }
9}
10
11// Uso:
12Notificacion noti = new Notificacion();
13noti.enviarMensaje("Reunión a las 10AM", true);

Solución: Usar enumeraciones (Enum) o métodos específicos

En lugar de un booleano, usa un Enum (Java, TypeScript, Python) o métodos separados.

1enum TipoMensaje {
2    NORMAL, URGENTE
3}
4
5public class Notificacion {
6    public void enviarMensaje(String mensaje, TipoMensaje tipo) {
7        if (tipo == TipoMensaje.URGENTE) {
8            System.out.println("🚨 URGENTE: " + mensaje);
9        } else {
10            System.out.println(mensaje);
11        }
12    }
13}
14
15// Uso:
16Notificacion noti = new Notificacion();
17noti.enviarMensaje("Reunión a las 10AM", TipoMensaje.URGENTE);

📌 Conclusión

Evitar booleanos como parámetros mejora la legibilidad y escalabilidad del código.
Usar Enum o métodos separados hace que el código sea más expresivo y fácil de entender. 🚀