Qubc
@Qubc
Ненавижу полисемию.

Почему часто можно встретить отступление от структурного подхода?

Почему пишут такое:
void* pop () {
        if (head == 0) {
            return 0;
        }
        void* result = head->data;

        LinkVoid* oldHead = head;
        head = head->next;
        delete oldHead;

        return result;
}

вместо такого:
void* pop () {
        void* result = nullptr;

        if (head != 0) {
            void* result = head->data;

            LinkVoid* oldHead = head;
            head = head->next;
            delete oldHead;
        }
        return result;
}


Где-то в учебнике Дейтла рассказывалось, как структурное программирование позволило избавиться от лапши в стиле goto. Но в учебники по java Лафоре автор постоянно забивает на это. То есть это не очень важно и не очень нужно на самом деле? Или это чисто вопрос личных предпочтений? Или это такая оптимизация?
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Первый вариант легче читается. Особенно, если вариантов раннего выхода из функции несколько. Потому что меньше вложенность проверок, сразу видно что и при каких условиях возвращается.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы