1) Sé cómo funcionan las declaraciones if…else if
, pero en el siguiente ejemplo ambos métodos son idénticos en lo que respecta al valor resultante. Entonces, ¿importa cuál de los dos métodos use o debería elegir uno semánticamente más cercano a lo que el código está tratando de hacer (aquí supongo que semánticamente los dos métodos son bastante diferentes)? Entonces, ¿qué método usarías y por qué?Cuándo utilizar 'if ... else if' y cuándo usar
protected string GetNumberDescription(int value)
{
if (value >= veryBigNumber)
return veryBigNumberDescription;
else if (value >= bigNumber)
return bigNumberDescription;
else if (value >= smallNumber)
return smallNumberDescription;
else
return "";
}
protected string GetNumberDescription(int value)
{
if (value >= veryBigNumber)
return veryBigNumberDescription;
if (value >= bigNumber)
return bigNumberDescription;
if (value >= smallNumber)
return smallNumberDescription;
else
return "";
}
2) me di cuenta de perdidas de código utiliza el siguiente formato cuando escribiendo if ... else if
declaraciones:
if ...
else if ...
else ...
Pero no es (al menos conceptualmente) de manera más correcta:
if ...
else
if ...
else ...
Pregunta similar en el contexto de Java: http://stackoverflow.com/questions/3579918/programming-preference-use-else-ifs-with-multiple-return-statements/ – BalusC
Consulte http: //www.refactoring. com/catalog/replaceNestedConditionalWithGuardClauses.html ... –
Hacer el primero puede provocar problemas cuando alguien inserta una declaración else if en algún lugar dentro que está siendo manejado por el bloque de ifs. El problema es que la redundancia del código y el rendimiento llegan al – Woot4Moo