<?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: Abstraction is The Name of The Game</title>
	<atom:link href="http://www.hans-eric.com/2007/10/30/abstraction-is-the-name-of-the-game/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hans-eric.com/2007/10/30/abstraction-is-the-name-of-the-game/</link>
	<description>Hans-Eric Grönlund on software development</description>
	<lastBuildDate>Thu, 29 Jul 2010 15:10:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2007/10/30/abstraction-is-the-name-of-the-game/comment-page-1/#comment-545</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Fri, 02 Nov 2007 08:21:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/10/30/abstraction-is-the-name-of-the-game/#comment-545</guid>
		<description>Thank you for your comment. 
I like it when people are straight-forward, but I strongly disagree with you on this one. I&#039;d never call Uncle Bob  (or anyone else for that matter) a moron.</description>
		<content:encoded><![CDATA[<p>Thank you for your comment.<br />
I like it when people are straight-forward, but I strongly disagree with you on this one. I&#8217;d never call Uncle Bob  (or anyone else for that matter) a moron.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2007/10/30/abstraction-is-the-name-of-the-game/comment-page-1/#comment-544</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Fri, 02 Nov 2007 08:06:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/10/30/abstraction-is-the-name-of-the-game/#comment-544</guid>
		<description>Thanks for your comment. I too think he meant it like a guideline, although it looks like a rule.
And, I like the &quot;the guy in the next cubicle&quot; change. I think I&#039;ll go with that. :-)</description>
		<content:encoded><![CDATA[<p>Thanks for your comment. I too think he meant it like a guideline, although it looks like a rule.<br />
And, I like the &#8220;the guy in the next cubicle&#8221; change. I think I&#8217;ll go with that. <img src='http://www.hans-eric.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave G</title>
		<link>http://www.hans-eric.com/2007/10/30/abstraction-is-the-name-of-the-game/comment-page-1/#comment-542</link>
		<dc:creator>Dave G</dc:creator>
		<pubDate>Fri, 02 Nov 2007 02:55:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/10/30/abstraction-is-the-name-of-the-game/#comment-542</guid>
		<description>First of all, Uncle Bob&#039;s statement was clearly a rule, not a guideline, stating that any function longer than 8 lines cannot be considered well-written.  He stated it quite unequivocally. The words &quot;but no longer&quot; leave no room for interpretation.

The guy&#039;s a drooling moron.

He&#039;s one of those guys who has been pontificating for so long that he seems to think that he can make things true simply by saying them. &quot;I think, therefore I am correct.&quot; When he needs to fill space on his blog, he comes up with garbage like that statement, and the other stupid rules he wrote in that post.

But, he&#039;s been around a long time, has written some worthwhile stuff in the past, and a lot of people respect him, so he gets a pass for this crap. Note the way you (Hans) and some of the other commenters tiptoe around it. You&#039;re &quot;not saying Uncle Bob is wrong&quot; (but he clearly is) but you&#039;re &quot;hesitant.&quot;

If no one else will say it, I will. Uncle Bob is an emperor with no clothes.</description>
		<content:encoded><![CDATA[<p>First of all, Uncle Bob&#8217;s statement was clearly a rule, not a guideline, stating that any function longer than 8 lines cannot be considered well-written.  He stated it quite unequivocally. The words &#8220;but no longer&#8221; leave no room for interpretation.</p>
<p>The guy&#8217;s a drooling moron.</p>
<p>He&#8217;s one of those guys who has been pontificating for so long that he seems to think that he can make things true simply by saying them. &#8220;I think, therefore I am correct.&#8221; When he needs to fill space on his blog, he comes up with garbage like that statement, and the other stupid rules he wrote in that post.</p>
<p>But, he&#8217;s been around a long time, has written some worthwhile stuff in the past, and a lot of people respect him, so he gets a pass for this crap. Note the way you (Hans) and some of the other commenters tiptoe around it. You&#8217;re &#8220;not saying Uncle Bob is wrong&#8221; (but he clearly is) but you&#8217;re &#8220;hesitant.&#8221;</p>
<p>If no one else will say it, I will. Uncle Bob is an emperor with no clothes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan Cooper</title>
		<link>http://www.hans-eric.com/2007/10/30/abstraction-is-the-name-of-the-game/comment-page-1/#comment-536</link>
		<dc:creator>Ryan Cooper</dc:creator>
		<pubDate>Thu, 01 Nov 2007 14:11:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/10/30/abstraction-is-the-name-of-the-game/#comment-536</guid>
		<description>Great blog! While my first reaction to Uncle Bob&#039;s post was to share your concern, I&#039;ve convinced myself not to worry about it too much with the following train of thought:

Even though Uncle Bob uses the word &quot;rules&quot;, I think he really means &quot;guidelines&quot;. In other words, their value comes not from following them dogmatically, but from prompting you to think twice about what you&#039;re doing when you break one.

Such guidelines allow us to produce good code without the mental paralysis that can result from second-guessing ourselves &lt;i&gt;all&lt;/i&gt; the time. This is especially useful for inexperienced developers.

The only downside occurs if someone &lt;i&gt;who otherwise might develop their own more sophisticated heuristics&lt;/i&gt; decided to follow such a set of guidelines dogmatically instead. I don&#039;t think this will happen. Smart developers will always use any guideline they read as a starting point for develop their own more sophisticated heuristics. For those that are naturally inclined to follow dogma, the best you can do is give them slightly more useful dogma.

Cheers,
Ryan

P.S. Perhaps &quot;A piece of code is well-written if &lt;i&gt;the guy in the next cubicle&lt;/i&gt; with little effort can figure out what it does.&quot; would be more useful in convincing folks to change their ways? After all, the code &lt;i&gt;I&#039;ve&lt;/i&gt; written is always easy for &lt;i&gt;me&lt;/i&gt; to understand. ;)</description>
		<content:encoded><![CDATA[<p>Great blog! While my first reaction to Uncle Bob&#8217;s post was to share your concern, I&#8217;ve convinced myself not to worry about it too much with the following train of thought:</p>
<p>Even though Uncle Bob uses the word &#8220;rules&#8221;, I think he really means &#8220;guidelines&#8221;. In other words, their value comes not from following them dogmatically, but from prompting you to think twice about what you&#8217;re doing when you break one.</p>
<p>Such guidelines allow us to produce good code without the mental paralysis that can result from second-guessing ourselves <i>all</i> the time. This is especially useful for inexperienced developers.</p>
<p>The only downside occurs if someone <i>who otherwise might develop their own more sophisticated heuristics</i> decided to follow such a set of guidelines dogmatically instead. I don&#8217;t think this will happen. Smart developers will always use any guideline they read as a starting point for develop their own more sophisticated heuristics. For those that are naturally inclined to follow dogma, the best you can do is give them slightly more useful dogma.</p>
<p>Cheers,<br />
Ryan</p>
<p>P.S. Perhaps &#8220;A piece of code is well-written if <i>the guy in the next cubicle</i> with little effort can figure out what it does.&#8221; would be more useful in convincing folks to change their ways? After all, the code <i>I&#8217;ve</i> written is always easy for <i>me</i> to understand. <img src='http://www.hans-eric.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2007/10/30/abstraction-is-the-name-of-the-game/comment-page-1/#comment-533</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Thu, 01 Nov 2007 13:01:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/10/30/abstraction-is-the-name-of-the-game/#comment-533</guid>
		<description>You raise a valid point, and if the goal is to do some kind of automatic  analysis we have to use concrete metrics. But, how do you put metrics on how well-named a function is, how well-abstracted a piece of code is, or how well it reflects intention?

Also, I like the subjective nature of my definition. With it I&#039;m free to put my own standard. Here&#039;s mine:

&quot;You&quot;: it&#039;s me or someone like me, (at least) six months from now.
&quot;Little Effort&quot;: if it *feels* simple, it&#039;s also &quot;little effort&quot;.

With that said, I too try to keep functions short and with few levels of indentations, but that comes naturally since I focus on abstraction.</description>
		<content:encoded><![CDATA[<p>You raise a valid point, and if the goal is to do some kind of automatic  analysis we have to use concrete metrics. But, how do you put metrics on how well-named a function is, how well-abstracted a piece of code is, or how well it reflects intention?</p>
<p>Also, I like the subjective nature of my definition. With it I&#8217;m free to put my own standard. Here&#8217;s mine:</p>
<p>&#8220;You&#8221;: it&#8217;s me or someone like me, (at least) six months from now.<br />
&#8220;Little Effort&#8221;: if it *feels* simple, it&#8217;s also &#8220;little effort&#8221;.</p>
<p>With that said, I too try to keep functions short and with few levels of indentations, but that comes naturally since I focus on abstraction.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John DeHope</title>
		<link>http://www.hans-eric.com/2007/10/30/abstraction-is-the-name-of-the-game/comment-page-1/#comment-519</link>
		<dc:creator>John DeHope</dc:creator>
		<pubDate>Wed, 31 Oct 2007 18:01:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/10/30/abstraction-is-the-name-of-the-game/#comment-519</guid>
		<description>I agree with your premise. But inevitably you&#039;ll need to fall back onto more concrete metrics in order to make any kind of objective judgment. Your definition is just too subjective.

You - Who is you? Are you you? Are you you at 3am in the morning? Are you you 6 months from now? Are you you when you&#039;ve moved on to another position, and a new you is supporting the code?

Little Effort - How much is a little effort? Ten minutes? Twenty minutes, but I get to listen to whatever I want on my ipod? Thirty minutes but I don&#039;t have the internet to look up any obscure library members?

I don&#039;t know what numbers I&#039;d use for these, but here are the things which I think you&#039;d want to attach metrics to:
- lines of code
- levels of indention
- number of local variables
- depth of member referencing (ie. foo.bar = 1, foo.bar.baz = 2, foo.bar.baz.foo = 3)
- number of nested parenthesis on a single line</description>
		<content:encoded><![CDATA[<p>I agree with your premise. But inevitably you&#8217;ll need to fall back onto more concrete metrics in order to make any kind of objective judgment. Your definition is just too subjective.</p>
<p>You &#8211; Who is you? Are you you? Are you you at 3am in the morning? Are you you 6 months from now? Are you you when you&#8217;ve moved on to another position, and a new you is supporting the code?</p>
<p>Little Effort &#8211; How much is a little effort? Ten minutes? Twenty minutes, but I get to listen to whatever I want on my ipod? Thirty minutes but I don&#8217;t have the internet to look up any obscure library members?</p>
<p>I don&#8217;t know what numbers I&#8217;d use for these, but here are the things which I think you&#8217;d want to attach metrics to:<br />
- lines of code<br />
- levels of indention<br />
- number of local variables<br />
- depth of member referencing (ie. foo.bar = 1, foo.bar.baz = 2, foo.bar.baz.foo = 3)<br />
- number of nested parenthesis on a single line</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.336 seconds -->
