mr-es335 Posted November 1 Share Posted November 1 Good day, I as under the impression that "global variables" should be avoided. What is the consensus here? mr-es335 Sentinel Music Studios Link to comment Share on other sites More sharing options...
MattyD Posted November 1 Share Posted November 1 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. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted November 1 Moderators Share Posted November 1 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 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: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
mr-es335 Posted November 1 Author Share Posted November 1 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! mr-es335 Sentinel Music Studios Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now