Когда использовать «if… else if» и когда использовать

1) Я знаю, как , если ... еще, если операторы работают, но в следующем примере оба метода идентичны настолько, насколько результирующее значение касается. Так имеет ли значение, какой из двух методов я использую, или я должен всегда выбирать тот, который семантически ближе всего к тому, что пытается сделать код (здесь я предполагаю, что семантически два метода совершенно разные)? Так какой метод вы бы использовали и почему?

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) Я заметил, что при написании потери кода используют следующий формат: if ... else if :

if ...
else if ...
else ...

Но это не (по крайней мере концептуально) более правильный путь:

if ...
else
  if ...
  else ...
8
задан GSto 2 September 2010 в 19:28
поделиться