<?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: Refactoring legacy code</title>
	<atom:link href="http://lostechies.com/gabrielschenker/2009/02/27/refactoring-legacy-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/gabrielschenker/2009/02/27/refactoring-legacy-code/</link>
	<description>Blog about architectural patterns, best practices, coding principles and techniques</description>
	<lastBuildDate>Wed, 22 May 2013 12:15:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: bob</title>
		<link>http://lostechies.com/gabrielschenker/2009/02/27/refactoring-legacy-code/#comment-105</link>
		<dc:creator>bob</dc:creator>
		<pubDate>Sun, 18 Apr 2010 07:46:35 +0000</pubDate>
		<guid isPermaLink="false">/blogs/gabrielschenker/archive/2009/02/27/refactoring-legacy-code.aspx#comment-105</guid>
		<description>&quot;var c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));&quot; can be simplified to &quot;var c = 2 * Math.Asin(Math.Sqrt(a));&quot;</description>
		<content:encoded><![CDATA[<p>&#8220;var c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 &#8211; a));&#8221; can be simplified to &#8220;var c = 2 * Math.Asin(Math.Sqrt(a));&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pawinder Gupta</title>
		<link>http://lostechies.com/gabrielschenker/2009/02/27/refactoring-legacy-code/#comment-104</link>
		<dc:creator>Pawinder Gupta</dc:creator>
		<pubDate>Fri, 11 Sep 2009 07:48:41 +0000</pubDate>
		<guid isPermaLink="false">/blogs/gabrielschenker/archive/2009/02/27/refactoring-legacy-code.aspx#comment-104</guid>
		<description>Great article with nice examples. </description>
		<content:encoded><![CDATA[<p>Great article with nice examples. </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stephan Schmidt</title>
		<link>http://lostechies.com/gabrielschenker/2009/02/27/refactoring-legacy-code/#comment-103</link>
		<dc:creator>Stephan Schmidt</dc:creator>
		<pubDate>Wed, 04 Mar 2009 06:48:44 +0000</pubDate>
		<guid isPermaLink="false">/blogs/gabrielschenker/archive/2009/02/27/refactoring-legacy-code.aspx#comment-103</guid>
		<description>How much better would it have been to not use double, long, int for return types (in C fashion) but write OO code and return a distance object? (with a getUnit Method? And a asKilometers() method). Easier to read and understand, less bugs.

http://www.codemonkeyism.com/archives/2008/05/02/never-never-never-use-string-in-java-or-at-least-less-often/

Peace
Stephan</description>
		<content:encoded><![CDATA[<p>How much better would it have been to not use double, long, int for return types (in C fashion) but write OO code and return a distance object? (with a getUnit Method? And a asKilometers() method). Easier to read and understand, less bugs.</p>
<p><a href="http://www.codemonkeyism.com/archives/2008/05/02/never-never-never-use-string-in-java-or-at-least-less-often/" rel="nofollow">http://www.codemonkeyism.com/archives/2008/05/02/never-never-never-use-string-in-java-or-at-least-less-often/</a></p>
<p>Peace<br />
Stephan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gabriel N. Schenker</title>
		<link>http://lostechies.com/gabrielschenker/2009/02/27/refactoring-legacy-code/#comment-102</link>
		<dc:creator>Gabriel N. Schenker</dc:creator>
		<pubDate>Tue, 03 Mar 2009 10:56:24 +0000</pubDate>
		<guid isPermaLink="false">/blogs/gabrielschenker/archive/2009/02/27/refactoring-legacy-code.aspx#comment-102</guid>
		<description>@Jacob: yes you are right! If a ValueObject is immutable I do not have to clone it but can just use it as it is... Sometimes I hurry too much.</description>
		<content:encoded><![CDATA[<p>@Jacob: yes you are right! If a ValueObject is immutable I do not have to clone it but can just use it as it is&#8230; Sometimes I hurry too much.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jacob Stanley</title>
		<link>http://lostechies.com/gabrielschenker/2009/02/27/refactoring-legacy-code/#comment-101</link>
		<dc:creator>Jacob Stanley</dc:creator>
		<pubDate>Tue, 03 Mar 2009 02:21:58 +0000</pubDate>
		<guid isPermaLink="false">/blogs/gabrielschenker/archive/2009/02/27/refactoring-legacy-code.aspx#comment-101</guid>
		<description>If GeoCoordinate is immutable then you might as well trash your Clone function or change it to:

public GeoCoordinate Clone()
{
    return this;
}</description>
		<content:encoded><![CDATA[<p>If GeoCoordinate is immutable then you might as well trash your Clone function or change it to:</p>
<p>public GeoCoordinate Clone()<br />
{<br />
    return this;<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David</title>
		<link>http://lostechies.com/gabrielschenker/2009/02/27/refactoring-legacy-code/#comment-100</link>
		<dc:creator>David</dc:creator>
		<pubDate>Sun, 01 Mar 2009 23:19:24 +0000</pubDate>
		<guid isPermaLink="false">/blogs/gabrielschenker/archive/2009/02/27/refactoring-legacy-code.aspx#comment-100</guid>
		<description>I particularly appreciated your explanation of how to avoid SRP violations.</description>
		<content:encoded><![CDATA[<p>I particularly appreciated your explanation of how to avoid SRP violations.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike</title>
		<link>http://lostechies.com/gabrielschenker/2009/02/27/refactoring-legacy-code/#comment-99</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Sun, 01 Mar 2009 00:00:06 +0000</pubDate>
		<guid isPermaLink="false">/blogs/gabrielschenker/archive/2009/02/27/refactoring-legacy-code.aspx#comment-99</guid>
		<description>Before scrolling further I was wondering why the calculation was being done in a service instead of in GeoCoordinate, guess that&#039;s a good sign :)</description>
		<content:encoded><![CDATA[<p>Before scrolling further I was wondering why the calculation was being done in a service instead of in GeoCoordinate, guess that&#8217;s a good sign <img src='http://lostechies.com/gabrielschenker/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan Svihla</title>
		<link>http://lostechies.com/gabrielschenker/2009/02/27/refactoring-legacy-code/#comment-98</link>
		<dc:creator>Ryan Svihla</dc:creator>
		<pubDate>Sat, 28 Feb 2009 20:36:39 +0000</pubDate>
		<guid isPermaLink="false">/blogs/gabrielschenker/archive/2009/02/27/refactoring-legacy-code.aspx#comment-98</guid>
		<description>I do the wrapper trick on rough api&#039;s all the time myself.  However,was it intentional to use an interface name that is already part of the .net framework?


http://msdn.microsoft.com/en-us/library/system.data.idatareader.aspx</description>
		<content:encoded><![CDATA[<p>I do the wrapper trick on rough api&#8217;s all the time myself.  However,was it intentional to use an interface name that is already part of the .net framework?</p>
<p><a href="http://msdn.microsoft.com/en-us/library/system.data.idatareader.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/system.data.idatareader.aspx</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: redgreenrefactor</title>
		<link>http://lostechies.com/gabrielschenker/2009/02/27/refactoring-legacy-code/#comment-97</link>
		<dc:creator>redgreenrefactor</dc:creator>
		<pubDate>Sat, 28 Feb 2009 18:40:12 +0000</pubDate>
		<guid isPermaLink="false">/blogs/gabrielschenker/archive/2009/02/27/refactoring-legacy-code.aspx#comment-97</guid>
		<description>A great tool for creating interfaces and wrappers when classes do not implement an interface or when you want to make use of a decorator. http://code.google.com/p/doubler/</description>
		<content:encoded><![CDATA[<p>A great tool for creating interfaces and wrappers when classes do not implement an interface or when you want to make use of a decorator. <a href="http://code.google.com/p/doubler/" rel="nofollow">http://code.google.com/p/doubler/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kyle Szklenski</title>
		<link>http://lostechies.com/gabrielschenker/2009/02/27/refactoring-legacy-code/#comment-96</link>
		<dc:creator>Kyle Szklenski</dc:creator>
		<pubDate>Sat, 28 Feb 2009 12:27:54 +0000</pubDate>
		<guid isPermaLink="false">/blogs/gabrielschenker/archive/2009/02/27/refactoring-legacy-code.aspx#comment-96</guid>
		<description>Pretty good! Although, if you were really that anal retentive, you would know the rules for apostrophes and possessives, I should think! :)

Interestingly, the last place I work had almost the exact same code as presented here (they were also GIS-related). . .I certainly hope you&#039;re not working for them! Their codebase would be nigh impossible to refactor properly without losing your mind. I know because I tried. . .and went insane.</description>
		<content:encoded><![CDATA[<p>Pretty good! Although, if you were really that anal retentive, you would know the rules for apostrophes and possessives, I should think! <img src='http://lostechies.com/gabrielschenker/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Interestingly, the last place I work had almost the exact same code as presented here (they were also GIS-related). . .I certainly hope you&#8217;re not working for them! Their codebase would be nigh impossible to refactor properly without losing your mind. I know because I tried. . .and went insane.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
