<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Comments Unhelpful</title>
	<atom:link href="http://eraserhead.net/2009/03/comments-unhelpful/feed/" rel="self" type="application/rss+xml" />
	<link>http://eraserhead.net/2009/03/comments-unhelpful/</link>
	<description>Jason Felice's blog</description>
	<lastBuildDate>Thu, 07 Jan 2010 12:14:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: //FIXME &#187; Rules for Commenting</title>
		<link>http://eraserhead.net/2009/03/comments-unhelpful/comment-page-1/#comment-2853</link>
		<dc:creator>//FIXME &#187; Rules for Commenting</dc:creator>
		<pubDate>Wed, 30 Dec 2009 20:13:52 +0000</pubDate>
		<guid isPermaLink="false">http://eraserhead.net/?p=32#comment-2853</guid>
		<description>[...] been a little while since I wrote Comments Unhelpful, and two recent events bring me back to the topic. The first event is discussion brought up by a [...]</description>
		<content:encoded><![CDATA[<p>[...] been a little while since I wrote Comments Unhelpful, and two recent events bring me back to the topic. The first event is discussion brought up by a [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark W. "catfood" Schumann</title>
		<link>http://eraserhead.net/2009/03/comments-unhelpful/comment-page-1/#comment-1921</link>
		<dc:creator>Mark W. "catfood" Schumann</dc:creator>
		<pubDate>Wed, 23 Sep 2009 20:45:59 +0000</pubDate>
		<guid isPermaLink="false">http://eraserhead.net/?p=32#comment-1921</guid>
		<description>Another rule of thumb: clear code, including well-thought-out identifiers, tells you *what* it does. Comments tell you *why* it does it.

I&#039;m going to quibble slightly with point #3. It can be useful to have the &quot;instant version history&quot; of /recently/ commented-out code when making changes nearby. Wouldn&#039;t it be cool if IDEs showed a recent-change history when you hover over a method or block?</description>
		<content:encoded><![CDATA[<p>Another rule of thumb: clear code, including well-thought-out identifiers, tells you *what* it does. Comments tell you *why* it does it.</p>
<p>I&#8217;m going to quibble slightly with point #3. It can be useful to have the &#8220;instant version history&#8221; of /recently/ commented-out code when making changes nearby. Wouldn&#8217;t it be cool if IDEs showed a recent-change history when you hover over a method or block?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Austin</title>
		<link>http://eraserhead.net/2009/03/comments-unhelpful/comment-page-1/#comment-1454</link>
		<dc:creator>Austin</dc:creator>
		<pubDate>Sat, 06 Jun 2009 02:48:30 +0000</pubDate>
		<guid isPermaLink="false">http://eraserhead.net/?p=32#comment-1454</guid>
		<description>I disagree with some of these; comments that explain the next line of code are nice because they help you understand what you were thinking.  If you are more comfortable reading english than code ( which some programmers are ) then it is much easier to wrap your head around what the point was.  It&#039;s also nice to come across when you are maintaining code that someone else wrote.

Restatements of well named objects are good for the reasons above; also the best named object still is an object name, whereas a good sentence is a good sentence regardless.

Comments with wanderlust are also helpful for making pointing out things along the way; like a rambling tour guide of sorts.

Finally, restatement of constants also helps explain what intention the programmer had for them.  Honestly I can&#039;t tell the difference between the good and bad; they both tell you how long the delay is supposed to be.

The others I definitely agree are useless.</description>
		<content:encoded><![CDATA[<p>I disagree with some of these; comments that explain the next line of code are nice because they help you understand what you were thinking.  If you are more comfortable reading english than code ( which some programmers are ) then it is much easier to wrap your head around what the point was.  It&#8217;s also nice to come across when you are maintaining code that someone else wrote.</p>
<p>Restatements of well named objects are good for the reasons above; also the best named object still is an object name, whereas a good sentence is a good sentence regardless.</p>
<p>Comments with wanderlust are also helpful for making pointing out things along the way; like a rambling tour guide of sorts.</p>
<p>Finally, restatement of constants also helps explain what intention the programmer had for them.  Honestly I can&#8217;t tell the difference between the good and bad; they both tell you how long the delay is supposed to be.</p>
<p>The others I definitely agree are useless.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark W. "catfood" Schumann</title>
		<link>http://eraserhead.net/2009/03/comments-unhelpful/comment-page-1/#comment-210</link>
		<dc:creator>Mark W. "catfood" Schumann</dc:creator>
		<pubDate>Wed, 15 Apr 2009 02:28:56 +0000</pubDate>
		<guid isPermaLink="false">http://eraserhead.net/?p=32#comment-210</guid>
		<description>Rule of thumb: you probably need to comment your data structures more than your code. A four-dimensional array is a lot harder to understand without comments than a four-level nested loop.

And yes, I&#039;ve had to maintain four-dimensional arrays. That had no comments.</description>
		<content:encoded><![CDATA[<p>Rule of thumb: you probably need to comment your data structures more than your code. A four-dimensional array is a lot harder to understand without comments than a four-level nested loop.</p>
<p>And yes, I&#8217;ve had to maintain four-dimensional arrays. That had no comments.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
