This comment was originally posted by shasty ut for some reason has since been deaded. I thought it was worth reposting:
Over commenting is a bad practice. Comments should be reserved for code which is difficult to understand no matter how well it can be written.
Forcing a developer to constantly shift between the english language and a programming language takes up precious screen space and insults the developer by constantly making her switch gears.
Inline comments are the worst abused. After that method doc for the purposes of supposed documentation.
A well named class in a stable framework needs no documentation as long as its interface is intuitive.
Chances are you are interacting with really bad systems and want some help. If the code is that bad, I doubt the developers comments would be much better.
No comments is the best if you can get away with it and have a self documenting set of interfaces.