<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>From the Editor of Methods &#38; Tools &#187; refactoring</title>
	<atom:link href="http://blog.martinig.ch/tag/refactoring/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.martinig.ch</link>
	<description></description>
	<lastBuildDate>Tue, 07 Sep 2010 09:11:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How Do You Refactor Untested Code?</title>
		<link>http://blog.martinig.ch/quotes/how-do-you-refactor-untested-code/</link>
		<comments>http://blog.martinig.ch/quotes/how-do-you-refactor-untested-code/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 17:32:52 +0000</pubDate>
		<dc:creator>The Editor</dc:creator>
				<category><![CDATA[Quotes]]></category>
		<category><![CDATA[refactoring]]></category>

		<guid isPermaLink="false">http://blog.martinig.ch/?p=481</guid>
		<description><![CDATA[I am currently reading the excellent &#8220;Debug It!&#8221; book written by Paul Butcher and I wanted to share with you some of the little gems that I have found in it.
&#8220;Bug fixing often uncovers opportunities for refactoring. The very fact that you&#8217;re working with code that contains a bug indicates that there is a chance [...]]]></description>
			<content:encoded><![CDATA[<p>I am currently reading the excellent &#8220;Debug It!&#8221; book written by Paul Butcher and I wanted to share with you some of the little gems that I have found in it.</p>
<p>&#8220;Bug fixing often uncovers opportunities for refactoring. The very fact that you&#8217;re working with code that contains a bug indicates that there is a chance that it could be clearer or better structured.&#8221;</p>
<p>&#8220;As a rule of thumb, for every user who tells you about a problem, there will be between 10 and 100 other users who experienced the same problem and didn&#8217;t think to get in touch.&#8221;</p>
<p>&#8220;Once you start to get on top of your quality issues, you&#8217;re going to want to start refactoring the old, crufty, untested code. And you should &#8211; the point of exercise is to clean up problems, and refactoring is a key element of that process. Remember, however, that refactoring crucially depends upon the support of an extensive suite of automated tests. Without tests, you&#8217;re not refactoring. You&#8217;re hacking. So, how do you refactor untested code? You don&#8217;t. The first thing you do is to write the tests.&#8221;</p>
<p>Source: &#8220;Debug It!&#8221;, Paul Butcher, Pragmatic Bookshelf, 214 pages</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.martinig.ch/quotes/how-do-you-refactor-untested-code/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Linkopedia November 2008</title>
		<link>http://blog.martinig.ch/software-development/linkopedia-november-2008/</link>
		<comments>http://blog.martinig.ch/software-development/linkopedia-november-2008/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 16:03:36 +0000</pubDate>
		<dc:creator>The Editor</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://blog.martinig.ch/?p=171</guid>
		<description><![CDATA[38 Software design tips from the creator of C++  gives useful software design tips from Bjarne Stroustrup
Agile Chronicles #1: Stressful The Agile Chronicles is a set of articles documenting my experiences using an Agile process (Scrum) in software development.
Refactoring Service Dependencies to Separated Interface  This post presents a common scenario wherein business logic is tightly coupled to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://paranoid-engineering.blogspot.com/2008/11/software-design-tips-from-creator-of-c.html">38 Software design tips from the creator of C++</a>  gives useful software design tips from Bjarne Stroustrup</p>
<p><a href="http://jessewarden.com/2008/11/agile-chronicles-1-stressful.html">Agile Chronicles #1: Stressful</a> The Agile Chronicles is a set of articles documenting my experiences using an Agile process (Scrum) in software development.</p>
<p><a href="http://devlicio.us/blogs/billy_mccafferty/archive/2008/10/30/refactoring-service-dependencies-to-separated-interface.aspx">Refactoring Service Dependencies to Separated Interface </a> This post presents a common scenario wherein business logic is tightly coupled to a service and provides instruction for refactoring the concrete dependency to a more testable and loosely coupled configuration.<br />
 <br />
<a href="http://www.asp.net/learn/mvc/tutorial-02-cs.aspx">Understanding Models, Views, and Controllers</a>. This tutorial provides you with a high-level overview of ASP.NET MVC models, views, and controllers. In other words, it explains the ‘M’, ‘V’, and ‘C’ in ASP.NET MVC.</p>
<p><a href="http://www.ibm.com/developerworks/opensource/library/os-php-7oohabits/index.html">Build seven good object-oriented habits in PHP</a>. With PHP&#8217;s object-oriented (OO) language features, if you aren&#8217;t already creating your applications with OO principles in mind, these seven habits will help you get started in the transition between procedural programming and OO programming.</p>
<p><a href="http://www.softdevtube.com/?p=540">Writing Testable Code</a>. Misko Hevery made a presentation at Google Tech Talks about unit testing. He tells us that “There is no secret to writing tests… … there are only secrets to writing testable code!”.</p>
<p><a href="http://www.concordion.org/">Concordion</a>. Concordion is an open source framework for Java that lets you turn a plain English description of a requirement into an automated test &#8211; an active specification.</p>
<p><a href="http://www.romaframework.org/">Roma Framework</a>. Roma allows you to develop enterprise level Java applications with low effort following a real Domain Driven Design approach.</p>
<p><a href="http://code.google.com/p/testability-explorer/">Testability-explorer</a>. Testability-explorer is a tool which analyzes java byte-codes and computes how difficult it will be to write unit-test.</p>
<p>More interesting links on the <a href="http://www.softdevlinks.com/">software development links directory</a>, <a href="http://www.softdevarticles.com/">the software development articles directory</a> or the <a href="http://www.softdevtube.com/">software development videos directory</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.martinig.ch/software-development/linkopedia-november-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
