<?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: Ruby, Rails and hash&#8217;s with_indifferent_access</title>
	<atom:link href="http://kev.in/2007/11/30/ruby-rails-and-hashs-with_indifferent_access.html/feed" rel="self" type="application/rss+xml" />
	<link>http://kev.in/2007/11/30/ruby-rails-and-hashs-with_indifferent_access.html</link>
	<description>"It was a musical thing and you were supposed to sing"</description>
	<lastBuildDate>Fri, 05 Mar 2010 12:54:57 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jordan Ritter</title>
		<link>http://kev.in/2007/11/30/ruby-rails-and-hashs-with_indifferent_access.html/comment-page-1#comment-18864</link>
		<dc:creator>Jordan Ritter</dc:creator>
		<pubDate>Tue, 09 Jun 2009 17:13:47 +0000</pubDate>
		<guid isPermaLink="false">http://railsauthority.com/tutorial/ruby-rails-and-hashs-with_indifferent_access#comment-18864</guid>
		<description>I agree that good code shouldn&#039;t require a lot of inline comments, but it&#039;s also true that one of the most common causes of software bugs is that the code doesn&#039;t do what was intended.  

In reality this isn&#039;t really a symptom of the naming conventions failing to convey intention, but rather a failure of the developer to properly decide what the intent should have been in the first place, and describe it in a (succinct) way that would give both themselves and others an easy means to confirm &quot;does this code do what it was intended to do.&quot;

Similarly, TDD gets you closer to solving the symptom, but that&#039;s only as good as the tests you write and maintain, and it still falls short because, while it conveys behavioural (input/output) intent, for any reasonably complex task/function it still doesn&#039;t describe *how* the logic that arrives at a given result should work.

Bottom line: there still aren&#039;t any good substitutes for commenting logic, despite the prevailing consensus in the Ruby community that the code is the documentation.</description>
		<content:encoded><![CDATA[<p>I agree that good code shouldn&#8217;t require a lot of inline comments, but it&#8217;s also true that one of the most common causes of software bugs is that the code doesn&#8217;t do what was intended.  </p>
<p>In reality this isn&#8217;t really a symptom of the naming conventions failing to convey intention, but rather a failure of the developer to properly decide what the intent should have been in the first place, and describe it in a (succinct) way that would give both themselves and others an easy means to confirm &#8220;does this code do what it was intended to do.&#8221;</p>
<p>Similarly, TDD gets you closer to solving the symptom, but that&#8217;s only as good as the tests you write and maintain, and it still falls short because, while it conveys behavioural (input/output) intent, for any reasonably complex task/function it still doesn&#8217;t describe *how* the logic that arrives at a given result should work.</p>
<p>Bottom line: there still aren&#8217;t any good substitutes for commenting logic, despite the prevailing consensus in the Ruby community that the code is the documentation.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
