I wonder if anyone else feels the same as me on this issue ...
I've been using TGC products since day one, which is nigh on 13 years. In that time, I can honestly say 95% of my bugs are caused by mistyped variable names. So the vast majority of my frustration and time wasting is spent on wondering what the hell I've done wrong, when I've simple got a single character wrong in a variable name. It really is a totally unnecessary pain to go through.
I'd really love to see an optional switch, like VBs Option Explicit (not used that in years, but I think that's right) which would force you to define all variables before they can be used. I don't care what the engine does under the covers. Sometime like this:
function EatSomeCake(iCakeSize as integer, fAmount# as float)
fEatenAmount# as float
fEatenAmount# = iCakeSize * fAmount#
endfunction fEatenAmount#
Where as this ...
function EatSomeCake(iCakeSize as integer, fAmount# as float)
fEatenAmount# = iCakeSize * fAmount#
endfunction fEatenAmount#
... would complain that fEatenAmount# hadn't been defined. I don't care if fEatenAmount# is defined globally.
I know this isn't an extremely easy fix, but I'm fairly sure under the covers AppGameKit scans the source file, finds all unique variable names based on scope and defines them up front. What I'd like it to do is, if the program is headed with an 'OPTION EXPLICIT', and it encounters a variable like 'fChickenRadius#' without encountering a 'fChickenRadius# as float' first, it'll whinge at compile time.
That'd basically cut 10% off my development time and make the experience significantly more pleasant.