Sounds to me like you need to start using better variable names.
The
disadvantages of hungarian notation and/or sigils, while disputed, are well known.
My own stance is terribly anti-systems-hungarian: If the type of a variable isn't 100% intuitively obvious from it's name/usage alone, then chances are good that the actual type will eventually change, thus making any and all type warting become horrible, horrible lies sometime in the (probably near) future.
Apps Hungarian can be useful in limited cases -- Wikipedia's example of "strName" under this category is absolute horrible bollocks that should die though, IMO, or properly refiled under Systems Hungarian (the "___ containing a __singular_noun__" is a bit of a giveaway, especially when the first blank is "a string", a type supported by anything worth calling a programming language, sans assembly languages).
Random quote from the earlier linked page from C++'s very author:
Quote:Bjarne Stroustrup:
No I don't recommend "Hungarian". I regard "Hungarian" (embedding an abbreviated version of a type in a variable name) a technique that can be useful in untyped languages, but is completely unsuitable for a language that supports generic programming and object-oriented programming - both of which emphasize selection of operations based on the type an arguments (known to the language or to the run-time support). In this case, "building the type of an object into names" simply complicates and minimizes abstraction.