12-28-2008, 08:03 AM
Quote:Originally Posted by Trickster at HBGames.Org
Global Variables should generally not be used. Global Variables are not an Object Oriented construct and violates information hiding. You do not want all of the scripts knowing about a variable, you only want your variables shown to methods/classes/scripts that need to view and perform operations on it. The only global variables that should be added are new $data_ and $game_ objects. System global variables created by RMXP (ex. $DEBUG and $scene are allowed). Global variables also consume more memory since they are not removed until the program terminates. The use of bad global variables is frowned upon, because you are cheating yourself, your script, and the users of your script.
Ok for the good OO practice, but the reasoning about the memory does not convince me. Because, the same memory that a global would keep reserved until the program terminates, will be used inside $game_temp, for instance, until the program terminates as well. Only local variables get removed at the end of the method in which they were defined.
Besides, in a way, the use of $game_temp "violates" information hiding as well. :geek: