Какой синтаксис лучше для возвращаемого значения? - PullRequest
4 голосов
/ 26 сентября 2008

Я делал массивный обзор кода, и один шаблон, который я заметил повсюду, таков:

public bool MethodName()
{
    bool returnValue = false;
    if (expression)
    {
        // do something
        returnValue = MethodCall();
    }
    else
    {
        // do something else
        returnValue = Expression;
    }

    return returnValue;
}

Я бы так не поступил, я бы просто вернул значение, когда знал, что это такое. какой из этих двух шаблонов является более правильным?

Подчеркну, что логика всегда кажется структурированной так, что возвращаемое значение присваивается только одной пластине, и после его присвоения код не выполняется.

Ответы [ 13 ]

0 голосов
/ 26 сентября 2008

Я полагаю, что кодер принял решение определить объект toReturn в верхней части метода (например, List toReturn = new ArrayList ();), а затем заполнить его во время вызова метода, и как-то решил применить его к булевому типу возврата, что странно.

Может также быть побочным эффектом стандарта кодирования, который гласит, что вы не можете вернуться в середине тела метода, только в конце.

0 голосов
/ 26 сентября 2008

Я тоже этим пользуюсь. Идея состоит в том, что ресурсы могут быть освобождены в нормальном потоке программы. Если вы выпрыгнули из метода в 20 разных местах и ​​вам нужно было вызвать cleanUp () раньше, вам придется добавить еще один метод очистки 20 раз (или все изменить)

0 голосов
/ 26 сентября 2008

Они оба выполняют одну и ту же задачу. Некоторые говорят, что метод должен иметь только одну точку входа и одну точку выхода.

...