En la opcion 1 usas else if (hasFever){ y en esa no definiste un hasFever
En la opcion 2 if ((hasFever() && difficultyBreathing)||(hasFever() and isRiskCondition()) || (hasFever() && isRiskCondition() && difficultyBreathing)){
Si hasFever() && isRiskCondition() && difficultyBreathing es true, entonces tambien son true los dos checkeos anteriores en ese or. Por tanto no tiene sentido incluir ese ultimo caso de que las 3 sean true.
En todas las primeras opciones mantenes el
} else if (hasFever){
history.replace(`/cuarentena/`);
} else if (!hasFever){
history.replace(`/diagnostico_bueno/`);
} else {
history.replace(`/diagnostico_bueno/`);
}
que el else final es unreachable. if(hasFever) else if (!hasFever) ya cubren todos los casos. Por lo tanto lo logico sería simplemente:
} else if (hasFever){
history.replace(`/cuarentena/`);
} else {
history.replace(`/diagnostico_bueno/`);
}
Muy bueno, un par de detalles unicamente
else if (hasFever){
y en esa no definiste unhasFever
if ((hasFever() && difficultyBreathing)||(hasFever() and isRiskCondition()) || (hasFever() && isRiskCondition() && difficultyBreathing)){
SihasFever() && isRiskCondition() && difficultyBreathing
es true, entonces tambien son true los dos checkeos anteriores en ese or. Por tanto no tiene sentido incluir ese ultimo caso de que las 3 sean true.} else if (hasFever){
history.replace(`/cuarentena/`);
} else if (!hasFever){
history.replace(`/diagnostico_bueno/`);
} else {
history.replace(`/diagnostico_bueno/`);
}
que el
else
final es unreachable.if(hasFever) else if (!hasFever)
ya cubren todos los casos. Por lo tanto lo logico sería simplemente:} else if (hasFever){
history.replace(`/cuarentena/`);
} else {
history.replace(`/diagnostico_bueno/`);
}
Respecto a las opciones 1 y 2 son 1ras instancias del código a refactorizar es factible q eso q mencionas venga de implementación original.
Gracias x la observación