es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo escribir declaraciones if-else más claras y prevenir anidamientos?

Sé que anidar código puede ser complicado rápidamente. Por lo tanto, busqué una manera de evitar la anidación y descubrí que se puede hacer lo siguiente:

if (user == null) return;

console.log('Eliminando');
user.delete();

En lugar de usar llaves como se muestra a continuación:

if (user != null) {
    console.log('Eliminando');
    user.delete();
}

Sin embargo, no veo cómo esto es útil al usar una declaración if-else. Por ejemplo, tengo este fragmento de código de mi proyecto que me gustaría escribir de una manera más limpia que eso. Pero me cuesta entender cómo se puede hacer esto.

           if (parseInt(year) == joinTime.getFullYear()) {
                if (parseInt(month) == joinTime.getMonth() + 1) {
                    if (parseInt(day) == joinTime.getDay()) {
                        channel.send(message);
                    } else {
                        comparison(day, hour, minute);
                    }
                } else {
                    comparison(day, hour, minute);
                }
            } else {
                comparison(day, hour, minute);
            }
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    ¡Es genial que estés buscando formas de escribir un código más limpio! Una forma de evitar declaraciones ‘if’ anidadas en este caso, es usar el operador lógico “AND” (&&) para combinar las condiciones. Aquí tienes un ejemplo de cómo podrías reescribir el código:

    if (parseInt(year) == joinTime.getFullYear() &&
        parseInt(month) == joinTime.getMonth() + 1 &&
        parseInt(day) == joinTime.getDate()) {
      channel.send(message);
    } else {
      comparison(day, hour, minute);
    }
    

    Este código comprueba si las tres condiciones son verdaderas, y si lo son, envía el mensaje al canal. Si alguna de las condiciones es falsa, llama a la función “comparison”. Esto reduce la anidación y hace que el código sea más fácil de leer.

    ¡Espero que esto alguna forma te ayude! Avísame si tienes alguna pregunta.

Comments are closed.