<?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: Comparing myself to Uncle Bob Martin</title>
	<atom:link href="http://www.21apps.com/development/comparing-myself-to-uncle-bob-martin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.21apps.com/development/comparing-myself-to-uncle-bob-martin/</link>
	<description></description>
	<lastBuildDate>Fri, 12 Mar 2010 07:58:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Baltimore Heating</title>
		<link>http://www.21apps.com/development/comparing-myself-to-uncle-bob-martin/comment-page-1/#comment-1139</link>
		<dc:creator>Baltimore Heating</dc:creator>
		<pubDate>Fri, 26 Feb 2010 00:43:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.21apps.com/?p=1038#comment-1139</guid>
		<description>I&#039;m a software developer, building applications in FileMaker Pro and I&#039;m trying to decide on the best strategy for tracking my work.&lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;andymock&lt;br&gt;______________________________________________</description>
		<content:encoded><![CDATA[<p>I&#39;m a software developer, building applications in FileMaker Pro and I&#39;m trying to decide on the best strategy for tracking my work.</p>
<p>Thanks<br />andymock<br />______________________________________________</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Computer Services Baltimore</title>
		<link>http://www.21apps.com/development/comparing-myself-to-uncle-bob-martin/comment-page-1/#comment-1112</link>
		<dc:creator>Computer Services Baltimore</dc:creator>
		<pubDate>Fri, 22 Jan 2010 18:51:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.21apps.com/?p=1038#comment-1112</guid>
		<description>I&#039;m a software developer, building applications in FileMaker Pro and I&#039;m trying to decide on the best strategy for tracking my work.&lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;raven conway&lt;br&gt;______________________________________________</description>
		<content:encoded><![CDATA[<p>I&#39;m a software developer, building applications in FileMaker Pro and I&#39;m trying to decide on the best strategy for tracking my work.</p>
<p>Thanks<br />raven conway<br />______________________________________________</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wholesale TV Services</title>
		<link>http://www.21apps.com/development/comparing-myself-to-uncle-bob-martin/comment-page-1/#comment-1097</link>
		<dc:creator>Wholesale TV Services</dc:creator>
		<pubDate>Tue, 29 Dec 2009 12:37:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.21apps.com/?p=1038#comment-1097</guid>
		<description>Man, you are on fire today. Great posts&lt;br&gt;&lt;br&gt;respect&lt;br&gt;Justin Kemp&lt;br&gt;______________________________________________</description>
		<content:encoded><![CDATA[<p>Man, you are on fire today. Great posts</p>
<p>respect<br />Justin Kemp<br />______________________________________________</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ElangoPrasiddhi</title>
		<link>http://www.21apps.com/development/comparing-myself-to-uncle-bob-martin/comment-page-1/#comment-1048</link>
		<dc:creator>ElangoPrasiddhi</dc:creator>
		<pubDate>Thu, 15 Oct 2009 13:25:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.21apps.com/?p=1038#comment-1048</guid>
		<description>Woo this is a nice blog, i would love to read more.&lt;br&gt;&lt;br&gt;respect&lt;br&gt;kailis&lt;br&gt;______________________________________________&lt;br&gt;&lt;a href=&quot;http://www.oforu.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;Buy Aion Kinah&lt;/a&gt; &#124; &lt;a href=&quot;http://www.eing.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;aion kina&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Woo this is a nice blog, i would love to read more.</p>
<p>respect<br />kailis<br />______________________________________________<br /><a href="http://www.oforu.com" target="_blank" rel="nofollow">Buy Aion Kinah</a> | <a href="http://www.eing.com" target="_blank" rel="nofollow">aion kina</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AndrewWoody</title>
		<link>http://www.21apps.com/development/comparing-myself-to-uncle-bob-martin/comment-page-1/#comment-1031</link>
		<dc:creator>AndrewWoody</dc:creator>
		<pubDate>Wed, 30 Sep 2009 17:01:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.21apps.com/?p=1038#comment-1031</guid>
		<description>Good suggestions Richard.&lt;br&gt;&lt;br&gt;In fact I went through the TDD Kata for this problem on the train yesterday and the solution was actually slightly different, in fact I think better.&lt;br&gt;&lt;br&gt;I did not add any exception handling as this was not a &#039;requirement&#039; but I take your point that this should really be covered.&lt;br&gt;&lt;br&gt;i /=   &lt;&lt;   I was the same as you at first,  but this is one I think really should be learnt.  we do += and -= all the time so it&#039;s not that challenging.&lt;br&gt;&lt;br&gt;And great to see you spotted a bug in my tests :)&lt;br&gt;&lt;br&gt;Going to post a web cast of doing the process so that people understand the technique and reason for some of the refactorings.</description>
		<content:encoded><![CDATA[<p>Good suggestions Richard.</p>
<p>In fact I went through the TDD Kata for this problem on the train yesterday and the solution was actually slightly different, in fact I think better.</p>
<p>I did not add any exception handling as this was not a &#39;requirement&#39; but I take your point that this should really be covered.</p>
<p>i /=   &lt;&lt;   I was the same as you at first,  but this is one I think really should be learnt.  we do += and -= all the time so it&#39;s not that challenging.</p>
<p>And great to see you spotted a bug in my tests <img src='http://www.21apps.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Going to post a web cast of doing the process so that people understand the technique and reason for some of the refactorings.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Refactoring with Iterators: Prime Factors - Solutionizing .NET (Keith Dahlby) - Los Techies : Blogs about software and anything tech!</title>
		<link>http://www.21apps.com/development/comparing-myself-to-uncle-bob-martin/comment-page-1/#comment-1033</link>
		<dc:creator>Refactoring with Iterators: Prime Factors - Solutionizing .NET (Keith Dahlby) - Los Techies : Blogs about software and anything tech!</dc:creator>
		<pubDate>Wed, 30 Sep 2009 15:19:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.21apps.com/?p=1038#comment-1033</guid>
		<description>[...] Woodward recently posted a comparison of his test-driven Prime Factors solution to one written by Uncle Bob. In the comments, someone suggested that Andrew use an iterator instead [...]</description>
		<content:encoded><![CDATA[<p>[...] Woodward recently posted a comparison of his test-driven Prime Factors solution to one written by Uncle Bob. In the comments, someone suggested that Andrew use an iterator instead [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Willis</title>
		<link>http://www.21apps.com/development/comparing-myself-to-uncle-bob-martin/comment-page-1/#comment-1030</link>
		<dc:creator>Richard Willis</dc:creator>
		<pubDate>Wed, 30 Sep 2009 15:16:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.21apps.com/?p=1038#comment-1030</guid>
		<description>Hi Andrew,&lt;br&gt;&lt;br&gt;Great post. The more we can do to persuade people using TDD or even just unit testing the better.&lt;br&gt;&lt;br&gt;There&#039;s a few things I&#039;d do differently to make it more readable IMHO. All really minor though.&lt;br&gt;&lt;br&gt;1.    I wouldn&#039;t use i as a parameter name for a method. It&#039;s confusing as it&#039;s normally limited to internal for loops an hence isn&#039;t descriptive.&lt;br&gt;2.    I&#039;d consider throwing an ArgumentOutOfRangeException if a negative number was passed in to clarify the use. People might expect it to return the primes as though it was a positive number. I certainly did until I looked up getting the prime factors of a negative number. &lt;br&gt;3.    AddPrimeToProductsAndReduce. I found it easier to read moving the 2 lines back into the method it&#039;s called from. I&#039;d agree on an extract method refactoring if there was more to AddPrime and Reduce, but as the method does 2 things in 2 lines of code it seems superfluous. IsDivisable on the other hand is clearer than the line of code it replaces.&lt;br&gt;4.    Depending on who will also be looking at the code I&#039;d write out i /= prime longhand to i = i / prime. /= isn&#039;t often used, in fact I don&#039;t think I&#039;ve ever seen it outside documentation before. I had to stop and think what it was doing rather than just glance at the line and know. Could just be my problem of course!&lt;br&gt;5.    The private methods don&#039;t use any instance variables so could/should be static. FxCop would tell you to do this.&lt;br&gt;6.    And this one really is minor. The problem said that the method should be static.&lt;br&gt;7.    There&#039;s a bug in your test Generate_NonPrimeNumberNotDivisableByTwoWithTwoProducts_ReturnProducts. It tests the first item in the output list twice.&lt;br&gt;8.    Generate_PrimeNumber_ReturnPrimeNumber. I&#039;d call the parameter something like prime so it&#039;s clear it&#039;s the input as well as the expected result.&lt;br&gt;&lt;br&gt;Keep up the good work.&lt;br&gt;Richard</description>
		<content:encoded><![CDATA[<p>Hi Andrew,</p>
<p>Great post. The more we can do to persuade people using TDD or even just unit testing the better.</p>
<p>There&#39;s a few things I&#39;d do differently to make it more readable IMHO. All really minor though.</p>
<p>1.    I wouldn&#39;t use i as a parameter name for a method. It&#39;s confusing as it&#39;s normally limited to internal for loops an hence isn&#39;t descriptive.<br />2.    I&#39;d consider throwing an ArgumentOutOfRangeException if a negative number was passed in to clarify the use. People might expect it to return the primes as though it was a positive number. I certainly did until I looked up getting the prime factors of a negative number. <br />3.    AddPrimeToProductsAndReduce. I found it easier to read moving the 2 lines back into the method it&#39;s called from. I&#39;d agree on an extract method refactoring if there was more to AddPrime and Reduce, but as the method does 2 things in 2 lines of code it seems superfluous. IsDivisable on the other hand is clearer than the line of code it replaces.<br />4.    Depending on who will also be looking at the code I&#39;d write out i /= prime longhand to i = i / prime. /= isn&#39;t often used, in fact I don&#39;t think I&#39;ve ever seen it outside documentation before. I had to stop and think what it was doing rather than just glance at the line and know. Could just be my problem of course!<br />5.    The private methods don&#39;t use any instance variables so could/should be static. FxCop would tell you to do this.<br />6.    And this one really is minor. The problem said that the method should be static.<br />7.    There&#39;s a bug in your test Generate_NonPrimeNumberNotDivisableByTwoWithTwoProducts_ReturnProducts. It tests the first item in the output list twice.<br />8.    Generate_PrimeNumber_ReturnPrimeNumber. I&#39;d call the parameter something like prime so it&#39;s clear it&#39;s the input as well as the expected result.</p>
<p>Keep up the good work.<br />Richard</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Refactoring with Iterators: Prime Factors &#171; Solutionizing .NET</title>
		<link>http://www.21apps.com/development/comparing-myself-to-uncle-bob-martin/comment-page-1/#comment-1032</link>
		<dc:creator>Refactoring with Iterators: Prime Factors &#171; Solutionizing .NET</dc:creator>
		<pubDate>Wed, 30 Sep 2009 15:16:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.21apps.com/?p=1038#comment-1032</guid>
		<description>[...] Prime&#160;Factors September 30, 2009 &#8212; Keith Dahlby   Andrew Woodward recently posted a comparison of his test-driven solution to one written by Uncle Bob. In the comments, someone suggested that Andrew use an iterator instead [...]</description>
		<content:encoded><![CDATA[<p>[...] Prime&nbsp;Factors September 30, 2009 &#8212; Keith Dahlby   Andrew Woodward recently posted a comparison of his test-driven solution to one written by Uncle Bob. In the comments, someone suggested that Andrew use an iterator instead [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AndrewWoody</title>
		<link>http://www.21apps.com/development/comparing-myself-to-uncle-bob-martin/comment-page-1/#comment-1029</link>
		<dc:creator>AndrewWoody</dc:creator>
		<pubDate>Wed, 30 Sep 2009 12:17:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.21apps.com/?p=1038#comment-1029</guid>
		<description>Looking at the Yield keyword in C# I am not sure this will help me in this situation.  Using Yeild in a for loop, will pass out (yield) the result and continue to count up in the loop  (most examples use a for loop).&lt;br&gt;&lt;br&gt;If in the example I want to find the Prime Products for 8 (which is 2,2,2) I cannot see how Yield would return this.   I may be missing something,  would be interested to see a code sample.&lt;br&gt;&lt;br&gt;The other problem I suspect with Yield is that it is not that well used,  doesn&#039;t mean it&#039;s wrong, but adding this to any code would mean most developers would be saying WTH - how does this work?</description>
		<content:encoded><![CDATA[<p>Looking at the Yield keyword in C# I am not sure this will help me in this situation.  Using Yeild in a for loop, will pass out (yield) the result and continue to count up in the loop  (most examples use a for loop).</p>
<p>If in the example I want to find the Prime Products for 8 (which is 2,2,2) I cannot see how Yield would return this.   I may be missing something,  would be interested to see a code sample.</p>
<p>The other problem I suspect with Yield is that it is not that well used,  doesn&#39;t mean it&#39;s wrong, but adding this to any code would mean most developers would be saying WTH &#8211; how does this work?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AndrewWoody</title>
		<link>http://www.21apps.com/development/comparing-myself-to-uncle-bob-martin/comment-page-1/#comment-1028</link>
		<dc:creator>AndrewWoody</dc:creator>
		<pubDate>Wed, 30 Sep 2009 12:17:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.21apps.com/?p=1038#comment-1028</guid>
		<description>Looking at the Yield keyword in C# I am not sure this will help me in this situation.  Using Yeild in a for loop, will pass out (yield) the result and continue to count up in the loop  (most examples use a for loop).&lt;br&gt;&lt;br&gt;If in the example I want to find the Prime Products for 8 (which is 2,2,2) I cannot see how Yield would return this.   I may be missing something,  would be interested to see a code sample.&lt;br&gt;&lt;br&gt;The other problem I suspect with Yield is that it is not that well used,  doesn&#039;t mean it&#039;s wrong, but adding this to any code would mean most developers would be saying WTH - how does this work?</description>
		<content:encoded><![CDATA[<p>Looking at the Yield keyword in C# I am not sure this will help me in this situation.  Using Yeild in a for loop, will pass out (yield) the result and continue to count up in the loop  (most examples use a for loop).</p>
<p>If in the example I want to find the Prime Products for 8 (which is 2,2,2) I cannot see how Yield would return this.   I may be missing something,  would be interested to see a code sample.</p>
<p>The other problem I suspect with Yield is that it is not that well used,  doesn&#39;t mean it&#39;s wrong, but adding this to any code would mean most developers would be saying WTH &#8211; how does this work?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
