Информация об изменениях

Сообщение Re[3]: return1, return2 от 24.01.2024 4:03

Изменено 24.01.2024 5:10 Pavel Dvorkin

Re[3]: return1, return2
Здравствуйте, Sinclair, Вы писали:

S>Тут даже в не в расходах компилятора дело. Современный компилятор типа C# при возврате туплов проверяет definite assignment. Дело в расходе умственной энергии программиста.


Согласен.

В годы моей молодости в одной весьма в целом неплохой книге была дана рекомендация по написанию функций — один вход, один выход. То есть в терминах C-like языков — вход только через заголовок, выход только через последнюю }

Идея одного выхода оказалась не лучшей. Действительно, при, например, линейном поиске проще сделать return a[i] внутри цикла, когда нашли, а конце return -1, так как не нашли.

А вот идея одного входа практически везде сейчас. В фортране можно было иметь несколько входов , чтобы не писать несколько функций с одним и тем же почти кодом. Но сейчас это решается выделением общего кода в отдельную приватную функцию и вызовом ее везде. С несколькими входами та же проблема — черт его знает, как мы сюда попали, через какой вход.
Re[3]: return1, return2
Здравствуйте, Sinclair, Вы писали:

S>Тут даже в не в расходах компилятора дело. Современный компилятор типа C# при возврате туплов проверяет definite assignment. Дело в расходе умственной энергии программиста.


Согласен.

В годы моей молодости в одной весьма в целом неплохой книге была дана рекомендация по написанию функций — один вход, один выход. То есть в терминах C-like языков — вход только через заголовок, выход только через последнюю }

Идея одного выхода оказалась не лучшей. Действительно, при, например, линейном поиске проще сделать return i внутри цикла, когда нашли, а конце return -1, так как не нашли.

А вот идея одного входа практически везде сейчас. В фортране можно было иметь несколько входов , чтобы не писать несколько функций с одним и тем же почти кодом. Но сейчас это решается выделением общего кода в отдельную приватную функцию и вызовом ее везде. С несколькими входами та же проблема — черт его знает, как мы сюда попали, через какой вход.