<?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"
	>
<channel>
	<title>Comments on: Tools of The Effective Developer: Programming By Intention</title>
	<atom:link href="http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/</link>
	<description>Hans-Eric Grönlund on software development</description>
	<pubDate>Thu, 20 Nov 2008 13:49:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Small Steps Blog &#187; Blog Archive &#187; 코딩도장 경험 - 의사소통</title>
		<link>http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-17651</link>
		<dc:creator>Small Steps Blog &#187; Blog Archive &#187; 코딩도장 경험 - 의사소통</dc:creator>
		<pubDate>Mon, 29 Sep 2008 14:23:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-17651</guid>
		<description>[...] 것인가에 초점을 맞추면 좋습니다. 테스트 코드를 먼저 작성하거나, Programming by intention 으로 진행하면 도움이 됩니다. 이미 쓰임새가 코드로 표현되어 있기때문에 [...]</description>
		<content:encoded><![CDATA[<p>[...] 것인가에 초점을 맞추면 좋습니다. 테스트 코드를 먼저 작성하거나, Programming by intention 으로 진행하면 도움이 됩니다. 이미 쓰임새가 코드로 표현되어 있기때문에 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: www.hans-eric.com &#187; Blog Archive &#187; Tools of The Effective Developer: Make It Work - First!</title>
		<link>http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-510</link>
		<dc:creator>www.hans-eric.com &#187; Blog Archive &#187; Tools of The Effective Developer: Make It Work - First!</dc:creator>
		<pubDate>Tue, 30 Oct 2007 08:59:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-510</guid>
		<description>[...] Tools of The Effective Developer: Programming By Intention [...]</description>
		<content:encoded><![CDATA[<p>[...] Tools of The Effective Developer: Programming By Intention [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-297</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Fri, 28 Sep 2007 14:20:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-297</guid>
		<description>So you are practicing DDD, Document-Driven Development, cool. :-)
I must admit I am lousy at documentation. I try to write self-explaining code, but necessary documenting stuff like sample usage is often sadly left out by me. Your process sounds like a great way to fix that.
I still like to start with the test though, but I should be able to do it the other way around: cut and paste test-code to the document header. Thank you for the (reversed) tip!

BTW: if you combine TDD and your UDD, is that BDD?</description>
		<content:encoded><![CDATA[<p>So you are practicing DDD, Document-Driven Development, cool. <img src='http://www.hans-eric.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
I must admit I am lousy at documentation. I try to write self-explaining code, but necessary documenting stuff like sample usage is often sadly left out by me. Your process sounds like a great way to fix that.<br />
I still like to start with the test though, but I should be able to do it the other way around: cut and paste test-code to the document header. Thank you for the (reversed) tip!</p>
<p>BTW: if you combine TDD and your UDD, is that BDD?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike J</title>
		<link>http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-292</link>
		<dc:creator>Mike J</dc:creator>
		<pubDate>Thu, 27 Sep 2007 18:00:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-292</guid>
		<description>Heh personally it fits right in for my book, since it's not really that far off from something like TDD. In fact, you can take the Usage you create and use that for your TDD if you'd like.

So my first step is to put block comment at the header of the new class and work out what I'd like the interfaces to be in the "sample usage". Then start creating them, then use that sample usage code to derive my tests. =)</description>
		<content:encoded><![CDATA[<p>Heh personally it fits right in for my book, since it&#8217;s not really that far off from something like TDD. In fact, you can take the Usage you create and use that for your TDD if you&#8217;d like.</p>
<p>So my first step is to put block comment at the header of the new class and work out what I&#8217;d like the interfaces to be in the &#8220;sample usage&#8221;. Then start creating them, then use that sample usage code to derive my tests. =)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-285</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Thu, 27 Sep 2007 07:49:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-285</guid>
		<description>I like the term you coined. It sounds modern. If it were to be publicly accepted we would have Test-Driven Development, Behavior-Driven Development (which is almost TDD and Programming by Intention combined) and Usage-Driven Development; all closely related terms.
But since TDD and BDD are test-based techniques while UDD is not, I think I'd vote for the XP-term: Programming by Intention. Just to avoid confusion.</description>
		<content:encoded><![CDATA[<p>I like the term you coined. It sounds modern. If it were to be publicly accepted we would have Test-Driven Development, Behavior-Driven Development (which is almost TDD and Programming by Intention combined) and Usage-Driven Development; all closely related terms.<br />
But since TDD and BDD are test-based techniques while UDD is not, I think I&#8217;d vote for the XP-term: Programming by Intention. Just to avoid confusion.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike J</title>
		<link>http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-283</link>
		<dc:creator>Mike J</dc:creator>
		<pubDate>Wed, 26 Sep 2007 21:52:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-283</guid>
		<description>I've done this for a while and coined the term "Usage-Driven Development". Not sure if it's actually a term or not, but it seems to convey the concept pretty well.

It's a very easy way to be able to make something complex very simple ( at least for your interfaces ). Write the usage code first, and keep rewriting it until it is as simple as it can possibly be. Only then do you tackle the class, starting with the public members.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve done this for a while and coined the term &#8220;Usage-Driven Development&#8221;. Not sure if it&#8217;s actually a term or not, but it seems to convey the concept pretty well.</p>
<p>It&#8217;s a very easy way to be able to make something complex very simple ( at least for your interfaces ). Write the usage code first, and keep rewriting it until it is as simple as it can possibly be. Only then do you tackle the class, starting with the public members.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-276</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Tue, 25 Sep 2007 11:49:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-276</guid>
		<description>Thank you for the comment. To answer your question, it could be something like this: 

a programmer realizes: "In order to implement THIS, I'm gonna need THAT". So he sets off to work on THAT instead of THIS. In my experience, a common scenario. 

For instance, when building a ray tracer many people would start off by implementing a set of types and helpers that they know they are going to need. Then they might go on by implementing a general object structure to contain the object-ray intersection code. Simply put: they write the utility code before the code that utilize it. Thus they are not programming by intention. I used to be one of those programmers.</description>
		<content:encoded><![CDATA[<p>Thank you for the comment. To answer your question, it could be something like this: </p>
<p>a programmer realizes: &#8220;In order to implement THIS, I&#8217;m gonna need THAT&#8221;. So he sets off to work on THAT instead of THIS. In my experience, a common scenario. </p>
<p>For instance, when building a ray tracer many people would start off by implementing a set of types and helpers that they know they are going to need. Then they might go on by implementing a general object structure to contain the object-ray intersection code. Simply put: they write the utility code before the code that utilize it. Thus they are not programming by intention. I used to be one of those programmers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cléo Saulnier</title>
		<link>http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-275</link>
		<dc:creator>Cléo Saulnier</dc:creator>
		<pubDate>Tue, 25 Sep 2007 11:13:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/25/tools-of-the-effective-developer-programming-by-intention/#comment-275</guid>
		<description>Ok, this is a big shock to me.  I thought this was the only way you could realistically write software.  There are people who write parts of their software before it is used?  How does that work?

BTW, the "the simple kind" link is probably the worst thing I've read in a very long time.</description>
		<content:encoded><![CDATA[<p>Ok, this is a big shock to me.  I thought this was the only way you could realistically write software.  There are people who write parts of their software before it is used?  How does that work?</p>
<p>BTW, the &#8220;the simple kind&#8221; link is probably the worst thing I&#8217;ve read in a very long time.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

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