Thanks Ian 
TBH as well, you mention you comment your code very well.
Personally I comment only where things need commenting, and rather rely on very explicit code, as well as the way I structure my code and names I use to make my code as "self documenting" as possible. This works for me, but I'd put it in category of bad habits I would never recommend to someone who is beginning. My code as a result is often quite a bit more verbose than most programmers would prefer.
regards,
Dave

TBH as well, you mention you comment your code very well.
Personally I comment only where things need commenting, and rather rely on very explicit code, as well as the way I structure my code and names I use to make my code as "self documenting" as possible. This works for me, but I'd put it in category of bad habits I would never recommend to someone who is beginning. My code as a result is often quite a bit more verbose than most programmers would prefer.

regards,
Dave