There are certainly times when comments are important and appropriate (C code is probably a great example) - but I find myself more often than not struggling to understand if an existing comment is truly up to date (commit history sometimes helps here, but not always.)<p>Instead of commenting, I try to split out functions or variables that specify the intent. Since it's code - it must be up to date.<p>An example from this article would be:<p>assert(ep.send == null); // TODO: support multiple senders<p>Turning into<p>assert(notMultipleSenders(ep.send));