<?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: What I Learned Programming With the Stars</title>
	<atom:link href="http://dpwhelan.com/blog/agile/what-i-learned-programming-with-the-stars/feed/" rel="self" type="application/rss+xml" />
	<link>http://dpwhelan.com/blog/agile/what-i-learned-programming-with-the-stars/</link>
	<description>Delivering better software</description>
	<lastBuildDate>Sat, 17 Jul 2010 21:26:22 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: dwhelan</title>
		<link>http://dpwhelan.com/blog/agile/what-i-learned-programming-with-the-stars/comment-page-1/#comment-7164</link>
		<dc:creator>dwhelan</dc:creator>
		<pubDate>Wed, 09 Sep 2009 03:47:02 +0000</pubDate>
		<guid isPermaLink="false">http://dpwhelan.com/blog/?p=52#comment-7164</guid>
		<description>Llewellyn,

The use of &lt;a href=&quot;http://approvaltests.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;Approval Tests&lt;/a&gt; is interesting. I will have to try it out! Also, using the Comparator with Arrays.Sort is a simple solution. Thanks for suggesting it!

Declan

</description>
		<content:encoded><![CDATA[<p>Llewellyn,</p>
<p>The use of <a href="http://approvaltests.sourceforge.net/" rel="nofollow">Approval Tests</a> is interesting. I will have to try it out! Also, using the Comparator with Arrays.Sort is a simple solution. Thanks for suggesting it!</p>
<p>Declan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Twitted by dwhelan</title>
		<link>http://dpwhelan.com/blog/agile/what-i-learned-programming-with-the-stars/comment-page-1/#comment-7162</link>
		<dc:creator>Twitted by dwhelan</dc:creator>
		<pubDate>Sun, 06 Sep 2009 05:18:18 +0000</pubDate>
		<guid isPermaLink="false">http://dpwhelan.com/blog/?p=52#comment-7162</guid>
		<description>[...] This post was Twitted by dwhelan [...]</description>
		<content:encoded><![CDATA[<p>[...] This post was Twitted by dwhelan [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Llewellyn Falco</title>
		<link>http://dpwhelan.com/blog/agile/what-i-learned-programming-with-the-stars/comment-page-1/#comment-7161</link>
		<dc:creator>Llewellyn Falco</dc:creator>
		<pubDate>Sat, 05 Sep 2009 20:48:08 +0000</pubDate>
		<guid isPermaLink="false">http://dpwhelan.com/blog/?p=52#comment-7161</guid>
		<description>Here&#039;s a 3 minute solution to closest to zero.
It doesn&#039;t handle newkirk&#039;s objection, except to ignore using an if statement.
And it&#039;s a bit different than what most people do, but it&#039;s what I would actually do, it&#039;s fast, and gives me the important parts I want from test first, namely:
specification
feedback
regression
&amp; granularity

I feel somewhat that people have forgotten that we use these practices to help us go faster.


public class ClosestToZeroTest extends TestCase {
	public void testNumbersSort() throws Exception
		Integer i[] = { 0, -1, 3, -4, 80, -80 };
		sortAbsolute(i);
		Approvals.approve(&quot;&quot;, i);
	}

	public void testNumberNearZero() throws Exception {
		Integer i[] = { 2, -4, 80, -80 };
		assertEquals(2, getLowestNumber(i));
	}

	private int getLowestNumber(Integer[] i) {
		sortAbsolute(i);
		return i[0];
	}

	private void sortAbsolute(Integer[] i) {
		Arrays.sort(i, new CloseToZero());
	}

	public static class CloseToZero implements Comparator {
		@Override
		public int compare(Integer a1, Integer a2) {
			return Math.abs(a1) - Math.abs(a2);
		}
	}

}</description>
		<content:encoded><![CDATA[<p>Here&#8217;s a 3 minute solution to closest to zero.<br />
It doesn&#8217;t handle newkirk&#8217;s objection, except to ignore using an if statement.<br />
And it&#8217;s a bit different than what most people do, but it&#8217;s what I would actually do, it&#8217;s fast, and gives me the important parts I want from test first, namely:<br />
specification<br />
feedback<br />
regression<br />
&amp; granularity</p>
<p>I feel somewhat that people have forgotten that we use these practices to help us go faster.</p>
<p>public class ClosestToZeroTest extends TestCase {<br />
	public void testNumbersSort() throws Exception<br />
		Integer i[] = { 0, -1, 3, -4, 80, -80 };<br />
		sortAbsolute(i);<br />
		Approvals.approve(&#8220;&#8221;, i);<br />
	}</p>
<p>	public void testNumberNearZero() throws Exception {<br />
		Integer i[] = { 2, -4, 80, -80 };<br />
		assertEquals(2, getLowestNumber(i));<br />
	}</p>
<p>	private int getLowestNumber(Integer[] i) {<br />
		sortAbsolute(i);<br />
		return i[0];<br />
	}</p>
<p>	private void sortAbsolute(Integer[] i) {<br />
		Arrays.sort(i, new CloseToZero());<br />
	}</p>
<p>	public static class CloseToZero implements Comparator {<br />
		@Override<br />
		public int compare(Integer a1, Integer a2) {<br />
			return Math.abs(a1) &#8211; Math.abs(a2);<br />
		}<br />
	}</p>
<p>}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick Wilson-Welsh</title>
		<link>http://dpwhelan.com/blog/agile/what-i-learned-programming-with-the-stars/comment-page-1/#comment-7159</link>
		<dc:creator>Patrick Wilson-Welsh</dc:creator>
		<pubDate>Thu, 03 Sep 2009 05:12:49 +0000</pubDate>
		<guid isPermaLink="false">http://dpwhelan.com/blog/?p=52#comment-7159</guid>
		<description>I agree with Declan&#039;s summary on nearly all points. I don&#039;t think our intentional programming idiom was in any way incorrect; we just ran out of time. 

I think Newkirk&#039;s objection was most useful and legitimate. 

I agree with Newkirk that if every test method name ends up including the word should, then the word should ends up becomming noise. BDD semantic preferences and obvious superiority notwithstanding. 

I had a blast with you too, Declan!  

3.5 minutes is way short. Too short for us to swap keyboards, which would have earned us points back, I think...

--Patrick</description>
		<content:encoded><![CDATA[<p>I agree with Declan&#8217;s summary on nearly all points. I don&#8217;t think our intentional programming idiom was in any way incorrect; we just ran out of time. </p>
<p>I think Newkirk&#8217;s objection was most useful and legitimate. </p>
<p>I agree with Newkirk that if every test method name ends up including the word should, then the word should ends up becomming noise. BDD semantic preferences and obvious superiority notwithstanding. </p>
<p>I had a blast with you too, Declan!  </p>
<p>3.5 minutes is way short. Too short for us to swap keyboards, which would have earned us points back, I think&#8230;</p>
<p>&#8211;Patrick</p>
]]></content:encoded>
	</item>
</channel>
</rss>
