☑️Mejorar Funciones

Supongamos que tenemos una función calculatePayAmount que determina la cantidad a pagar basada en varios factores, como si una persona está retirada, separada, o muerta.

function calculatePayAmount(employee) {
    let result;
    if (employee.isDead) {
        result = 1500;
    } else if (employee.isSeparated) {
        result = 2500;
    } else if (employee.isRetired) {
        result = 3000;
    } else {
        result = 4000;
    }
    return result;
}

Vamos a aplicar las recomendaciones para simplificar esta función y hacerla más legible, evitando el uso excesivo de if-else y utilizando la condicional ternaria cuando sea apropiado.

Paso 1: Eliminar else innecesarios

Primero, podemos sacar provecho del return temprano para evitar else innecesarios y hacer el código más plano. Si la condicion tiene solo una linea, podemos evitar el uso de llaves

function calculatePayAmount(employee) {
    if (employee.isDead) return 1500;
    if (employee.isSeparated) return 2500;
    if (employee.isRetired) return 3000;
    return 4000; // Caso por defecto si ninguna de las condiciones anteriores se cumple
}

Paso 2: Considerar la Condicional Ternaria para Casos Simples

Aunque en este caso el uso de condicionales ternarias no reduce líneas de código (ya que la lógica es bastante directa y ya hemos simplificado bastante con return temprano), es útil en situaciones donde tengamos una elección simple entre dos valores. Aquí un ejemplo hipotético para ilustrar su uso:

function calculatePayAmount(employee) {
    if (employee.isDead) return 1500;
    if (employee.isSeparated) return 2500;
    
    return isRetired? 3000: 4000;
 
}

🚀 Recomendaciones Generales

  • Mantén las funciones cortas: Idealmente, menos de 20 líneas.

  • Evita complejidades innecesarias: Usa la condicional ternaria con moderación, asegurándote de que no comprometa la legibilidad.

  • Refactoriza lógicas complejas en funciones separadas: Si una parte de tu función se encarga de una tarea específica compleja, considera mover esa lógica a su propia función.

Última actualización