<?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: How Do You Refactor Untested Code?</title>
	<atom:link href="http://blog.martinig.ch/quotes/how-do-you-refactor-untested-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.martinig.ch/quotes/how-do-you-refactor-untested-code/</link>
	<description></description>
	<lastBuildDate>Fri, 25 Jun 2010 14:33:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: The Editor</title>
		<link>http://blog.martinig.ch/quotes/how-do-you-refactor-untested-code/comment-page-1/#comment-9490</link>
		<dc:creator>The Editor</dc:creator>
		<pubDate>Wed, 10 Feb 2010 20:00:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.martinig.ch/?p=481#comment-9490</guid>
		<description>The point that Paul Butcher is trying to make is that tests allow you to verify that your (manual) refactoring preserves behavior. Building a extensive tests set is also the advice given by the authors of &lt;a href=&quot;http://www.methodsandtools.com/archive/archive.php?id=98&quot; rel=&quot;nofollow&quot;&gt;Refactoring Large Software Systems&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>The point that Paul Butcher is trying to make is that tests allow you to verify that your (manual) refactoring preserves behavior. Building a extensive tests set is also the advice given by the authors of <a href="http://www.methodsandtools.com/archive/archive.php?id=98" rel="nofollow">Refactoring Large Software Systems</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carl Lajeunesse</title>
		<link>http://blog.martinig.ch/quotes/how-do-you-refactor-untested-code/comment-page-1/#comment-9489</link>
		<dc:creator>Carl Lajeunesse</dc:creator>
		<pubDate>Wed, 10 Feb 2010 18:32:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.martinig.ch/?p=481#comment-9489</guid>
		<description>I&#039;m completely agree with that.

When you start refactoring without doing tests first, your chance to insert new bug goes up.</description>
		<content:encoded><![CDATA[<p>I&#8217;m completely agree with that.</p>
<p>When you start refactoring without doing tests first, your chance to insert new bug goes up.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steven Kelly</title>
		<link>http://blog.martinig.ch/quotes/how-do-you-refactor-untested-code/comment-page-1/#comment-9488</link>
		<dc:creator>Steven Kelly</dc:creator>
		<pubDate>Wed, 10 Feb 2010 15:52:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.martinig.ch/?p=481#comment-9488</guid>
		<description>Refactorings should preserve behavior, so there should be no problem refactoring without tests. Once you move from automated refactorings to manual ones, or if your refactoring tools don&#039;t always preserve behavior, the situation is more complex.

I think refactoring, bug fixing, and writing tests are actually pretty orthogonal. Doing them in any order will improve things. To say &quot;Without tests, you&#039;re not refactoring. You&#039;re hacking&quot; is hyperbole. 

Hacking (in the pejorative sense) when fixing bugs is making quick changes to code to see if the bug goes away, without really understanding what the program should be doing and what is going wrong. Writing a test is a useful way of making explicit a single case of what the program should do. But at the end of the day writing code is where you really demonstrate whether you&#039;ve fully understood the task. Refactoring helps later readers reach that same understanding.</description>
		<content:encoded><![CDATA[<p>Refactorings should preserve behavior, so there should be no problem refactoring without tests. Once you move from automated refactorings to manual ones, or if your refactoring tools don&#8217;t always preserve behavior, the situation is more complex.</p>
<p>I think refactoring, bug fixing, and writing tests are actually pretty orthogonal. Doing them in any order will improve things. To say &#8220;Without tests, you&#8217;re not refactoring. You&#8217;re hacking&#8221; is hyperbole. </p>
<p>Hacking (in the pejorative sense) when fixing bugs is making quick changes to code to see if the bug goes away, without really understanding what the program should be doing and what is going wrong. Writing a test is a useful way of making explicit a single case of what the program should do. But at the end of the day writing code is where you really demonstrate whether you&#8217;ve fully understood the task. Refactoring helps later readers reach that same understanding.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
