Sé que esto puede ser muy específico para el caso de uso, pero me pregunto con demasiada frecuencia. ¿Existe una sintaxis generalmente preferida?
No estoy preguntando cuál es el mejor enfoque cuando estoy en una función, estoy preguntando si debo salir temprano o simplemente no llamar a la función.
Ajustar si alrededor de la llamada de función
if (shouldThisRun) {
runFunction();
}
Tener if ( guardia ) en función
runFunction() {
if (!shouldThisRun) return;
}
La última opción obviamente tiene el potencial de reducir la duplicación de código si esta función se llama varias veces, pero a veces se siente mal agregarla aquí, ya que puede estar perdiendo la responsabilidad única de la función.
Heres un ejemplo
Si tengo una función updateStatus () que simplemente actualiza el estado de algo. Solo quiero que se actualice el estado si el estado ha cambiado. Sé los lugares en mi código donde el estado tiene el potencial de cambiar, y sé otros lugares donde definitivamente ha cambiado.
No estoy seguro de si soy solo yo, pero me parece un poco sucio comprobar esta función interna, ya que quiero mantener esta función lo más pura posible; si la llamo, espero que se actualice el estado. Pero no puedo decir si es mejor terminar la llamada en un cheque en los pocos lugares donde sé que tiene el potencial de no haber cambiado.