Входные и выходные параметры в теле функции — нормально? Хоть сфера моя и программирование ПЛК, но вопрос "общечеловеческий".
На новом месте начал смотреть тексты программ и уже робко поднял вопрос, но мне сказали - а в чём дело, всё нормально.
Задам и вам.
Есть некие функции, которые вызываются в программе, у функций есть входные, выходные (возвращаемые, входновыходные), внутренние переменные... Ну вроде как и в обычном программировании.
Так вот, я всегда считал, что функция должна работать только с теми переменными, что она получила и выдавать значения в те, что прописаны вовне.
Тут же вижу, что раз в тексте функции идёт обращение сразу напрямую к глобальным переменным и во мне всё протестует.
Кто прав, вообще это где-то написано, что такой стиль плохой?

26 Мая 2020 в 19:46
191 +1
1
Ответы
1

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

Лучше всего передавать все необходимые данные в функцию через параметры, а результаты возвращать через возвращаемые значения или изменение переданных параметров. Это делает функцию более независимой и переиспользуемой.

В некоторых случаях использование глобальных переменных может быть оправдано, но в целом старайтесь избегать этого, если это возможно. Следование принципу "чистых функций" (pure functions) обычно делает код более понятным и предсказуемым.

18 Апр в 11:37
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир