Почему опасны глобальные переменные
Глобальные переменные кажутся удобными, но с ними код быстро превращается в запутанный клубок.
Что такое глобальная переменная
Глобальная переменная создаётся вне функций и видна во всей программе. Локальная живёт внутри функции и исчезает после её работы. Соблазн — сделать всё глобальным, чтобы «было доступно везде».
Чем это вредно
Когда любую переменную может изменить любая часть кода, трудно понять, кто и когда её поменял. Ошибки становятся неуловимыми, а функции — зависимыми друг от друга. Такой код тяжело читать, тестировать и менять.
Как делать правильно
Передавайте данные в функцию через аргументы, а результат отдавайте через return. Тогда функция самодостаточна: видно, что она принимает и что отдаёт. Это делает программу предсказуемой и понятной.
Когда глобальное всё же уместно
Настоящие константы (например, число π или настройки) — нормально держать наверху и обычно писать заглавными буквами. Проблема не в них, а в изменяемом общем состоянии. Хорошие привычки удобно вырабатывать с первых программ в «Дрон Кодере».
Частые вопросы
Что делает слово global в функции? Позволяет менять глобальную переменную изнутри — но злоупотреблять этим не стоит.
Как обмениваться данными между функциями без глобальных? Через аргументы и возвращаемые значения, а для сложных случаев — через объекты и классы.
Начать игру бесплатно