Another reason I like to use this naming convention (some kind of acronym or Local or Instance followed by two underscores) is that it make bulk find and replace of Variable names in an existing Macro quite straightforward.
I still use this Macro by @JMichaelTX almost daily. He said it was a BETA but I have never had a problem with it.
He said it was designed to change Variable pre-fixes but in fact it can be used to bulk change the whole Variable name every time it is quoted throughout a complete Macro. As it is simply looking for text matches it works well (and safely) if the Variable names it is looking for are completely unique.
Example:
Change all references to a Variable named:
TEMP__Date
to
LOCAL__Week Day
In the above example I might have used a Global Variable when I was writing the Macro and then wanted to change to a local variable with a slightly different name. @JMichaelTX's Macro will search and replace every single instance of TEMP__ Date and change it to LOCAL__Week Day even if they are quoted as %Variable%TEMP__Date% or even if they are mentioned in a comment. Basically, TEMP__ Date gets universally changed to LOCAL__Week Day
But if I had called my initial Variable simply:
Date
Then the search and replace could completely mess up the code of the Macro as it would find and replace any text of "Date" (which could include a vital bit of Keyboard Maestro code),
The Macro first makes a safety copy of the Macro you are working on so, it is always possible to undo if things go wrong.
When I had a look back at the original post that I got this Macro from (and linked to above) I noticed that the link to download the Macro seems to be broken so, I have re-uploaded the original Macro at the end of the thread.