Часто встречаю в типовых такой код:
Перем а;
ЗаполнитьЗначение(а);
Б=а[0];
Я же привык к такому коду:
а=ЗаполнитьЗначение();
Б=а[0];
Т.е. в типовых часто в процедуру передают переменную с которой идет работа внутри этой процедуры. По окончании работы процедуры используется изменная переменная.
Я же привык (по моему так и учили) что нужно стремиться чтобы функции и процедуры были автономны и для возврата параметра лучше использовать функции.
Так как правильно?
Функция должна возвращать результат своей работы на то она и Функция.
Согласен с (17) если нужно тебе передать ошибку из функции наверх генерируй исключение.
Если функция должна возвратить несколько значений они должны быть упакованы в структуру или иной подходящий объект.
Если вам нужно изменить переданные параметры то используйте процедуру и называйте её понятно
мне нравится второй вариант, т.к. он более явный. если нужно вернуть несколько значений, можно вернуть структуру.
Правильный вариант №2
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший