Estoy trabajando en un proyecto que requiere un procesamiento bastante complejo de JavaScript. Esto incluye una gran cantidad de if
- else
s anidados en bastantes lugares. He tomado generalmente la atención a optimizar el código JavaScript en lo posible mediante la lectura de los otros consejos sobre Pila desbordamiento, pero estoy preguntando si las siguientes dos construcciones haría ninguna diferencia en términos de velocidad solo:Usando 'return' en lugar de 'else' en JavaScript
if(some_condition) {
// process
return ;
}
// Continue the else condition here
vs
if(some_condition) {
// Process
}
else {
// The 'else' condition...
}
No estoy de acuerdo. Tal vez un poco más fácil de leer, pero más difícil de mantener, incluso más difícil cuando no eres tú, sino cualquier otro desarrollador que tiene que entender el código. Esa es mi opinión, en términos generales, sobre las funciones que tienen demasiados puntos de "retorno". –
Estoy respetuosamente en desacuerdo con su desacuerdo. En mi experiencia, el uso de este tipo de constructo nunca ha afectado la capacidad de mantenimiento. En todo caso, lo ha mejorado; la menor cantidad de declaraciones anidadas tiende a aumentar la capacidad de mantenimiento para mí. Sin embargo, estoy de acuerdo con su comentario sobre tener demasiados "puntos de retorno".En general, solo tengo puntos de retorno al principio y al final de las funciones. Al principio para las exclusiones obvias, y al final para servir al propósito de la función. –
Hay mérito en ambos lados. Mi experiencia personal es que demasiados si-elses anidados es una pesadilla, especialmente si una de las dos condiciones es muy corta y, por lo tanto, podemos hacer una declaración de devolución para terminarla rápidamente. Esto definitivamente lo hace más legible. – jeffreyveon