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