I tend to try to use "self commenting code" or [link=http://en.wikipedia.org/wiki/Hungarian_notation]hungarian notation[/link] whenever possible, this cuts down on commenting but adds to the readability of the code... i also try to not use cryptic variable names such as $a or whatever. and whenever i do some complicated logic, i try to explain it in a comment for either myself in the future or a possible colleague that may be working with the file