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