Why use comments? Use why comments!
Dennis responded to a rather tired discussion of whether you should comment your code or not (in fact, Frans has a nice way of saying it’s a stupid discussion) by concluding that the main reason to comment code is to explain *why* an implementation is the way it is.
I fully agree that this should be the main reason for commenting. I’ve had to go through a lot of very large codebases over the years and what I’m looking for mostly when examining an implementation is why an approach was picked. I can’t count the number of times I’ve tried to optimize a method only to discover there was a very good reason for not optimizing it in a certain way.
Ofcourse, practically everything else you can tell about a piece of code is usually worth writing down in comments. The whole discussion is mostly pointless now that VS.NET allows you collapse comments anyway. Think comments are dumb? Don’t read them. Don’t like writing comments? Fine, but I’m not touching the code.