Jump to content

Recommended Posts

Posted

hello,

I wouldn't say that they should be avoided - you shouldn't unnecessarily create global variables though.
If you need a variable across a bunch of different functions, declaring it in the global scope can make sense. Otherwise keep it local.

Mostly my global vars tend to be Gui handles and control handles. I also usually have a few parameters at the top of the script that I declare globally, a few things like the script version - or the file paths that I'm working out of etc. But not much outside of that.

  • Moderators
Posted

mr-es335,

A personal view.

Global variables should be avoided if at all possible - unless there is an obvious benefit, such as the path to an ini file used by several functions within the script; or where not using a Global variable will overly complicate the script by forcing massive parameter bloat when calling functions.

Why so? Because of the possibility of inadvertantly altering these Global variables from within a function. Changing their value deliberately from within a function is, of course, one of the reasons to use Global variables - but the risk of doing so unintentionally is always present. The use of a suitable Hungarian naming convention can reduce the chances of this considerably - altering a variable commencing with "$g_****" should ring a few alarm bells!

So I would suggest minimal use of Global  variables and the use of suitable names to help prevent possibly disastrous alterations to their content.

M23

 

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

  Reveal hidden contents

 

Posted

Good day,

Thanks for the replies...appreciated!

This avoidance is what I thought and do make a concerted effort to avoid the employment of global variables.

Then what of this? [Click_Me] ...where it was suggested that I do employ a global variable?!?

A bit confused here!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...