Я всегда читаю в Интернете, что глобальные переменные плохие, и я понимаю, что они плохие, потому что каждая функция имеет к ним доступ, и если каждая функция в приложении изменяет глобальную переменную, в большом приложении она может стать очень трудно отследить состояние этой переменной в определенной точке кода.
Но мой вопрос заключается в следующем: если у меня есть переменная, которую каждая функция должна будет использовать в любом случае, не лучше ли объявить ее глобальной? вместо того, чтобы каждый раз создавать экземпляр моей переменной внутри каждой функции?
Кроме того, когда мне следует использовать глобальные переменные, а не локальные?