<?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: Test Driven Development and Design by Contract</title>
	<atom:link href="http://digitalbrikes.com/onebrikeatatime/2008/08/16/test-driven-development-and-design-by-contract/feed/" rel="self" type="application/rss+xml" />
	<link>http://digitalbrikes.com/onebrikeatatime/2008/08/16/test-driven-development-and-design-by-contract/</link>
	<description>Notes on software development</description>
	<lastBuildDate>Tue, 16 Feb 2010 17:41:31 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Hering Cheng</title>
		<link>http://digitalbrikes.com/onebrikeatatime/2008/08/16/test-driven-development-and-design-by-contract/comment-page-1/#comment-1543</link>
		<dc:creator>Hering Cheng</dc:creator>
		<pubDate>Sat, 02 May 2009 04:51:22 +0000</pubDate>
		<guid isPermaLink="false">http://digitalbrikes.com/onebrikeatatime/?p=53#comment-1543</guid>
		<description>I agree that it would be great to link or unify TDD and DbC.  I think only the most simple of contracts (i.e., defensive programming) can be enforced via automation (e.g., as a crosscutting concern with AOP), such as checking the validity of actual arguments to functions.  The rest of the assertion statements (the most commonly used tool for defensive programming) is probably too specific to each piece of code to be generalized.

BTW, here is a related claim I make: Strongly-types languages &quot;automatically&quot; provide a layer of defense or tighter contract whereas more dynamic languages require one to code more defensively.</description>
		<content:encoded><![CDATA[<p>I agree that it would be great to link or unify TDD and DbC.  I think only the most simple of contracts (i.e., defensive programming) can be enforced via automation (e.g., as a crosscutting concern with AOP), such as checking the validity of actual arguments to functions.  The rest of the assertion statements (the most commonly used tool for defensive programming) is probably too specific to each piece of code to be generalized.</p>
<p>BTW, here is a related claim I make: Strongly-types languages &#8220;automatically&#8221; provide a layer of defense or tighter contract whereas more dynamic languages require one to code more defensively.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
