This is a good run-down of all commenting strategies. Although a critical peice in writing code, it is something that is not taught in schools. It's better learnt by burning hands, more than once. Most good developers should have charred hands by now :)