<?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: The Refactor Factor</title>
	<atom:link href="http://adavidchan.com/the-refactor-factor/feed" rel="self" type="application/rss+xml" />
	<link>http://adavidchan.com/the-refactor-factor</link>
	<description>Through the eyes of David Chan</description>
	<lastBuildDate>Wed, 01 Feb 2012 00:37:26 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Pcv Okna</title>
		<link>http://adavidchan.com/the-refactor-factor/comment-page-1#comment-1264</link>
		<dc:creator>Pcv Okna</dc:creator>
		<pubDate>Tue, 27 Dec 2011 11:55:45 +0000</pubDate>
		<guid isPermaLink="false">http://blog.dekandustry.com/2007/03/26/the-refactor-factor/#comment-1264</guid>
		<description>Straight to the point - that&#039;s the way I like it.</description>
		<content:encoded><![CDATA[<p>Straight to the point &#8211; that&#8217;s the way I like it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Click Conspiracy</title>
		<link>http://adavidchan.com/the-refactor-factor/comment-page-1#comment-1197</link>
		<dc:creator>Click Conspiracy</dc:creator>
		<pubDate>Wed, 10 Aug 2011 16:22:28 +0000</pubDate>
		<guid isPermaLink="false">http://blog.dekandustry.com/2007/03/26/the-refactor-factor/#comment-1197</guid>
		<description>Good day! I simply would like to give a huge thumbs up for the good data you&#039;ve gotten here on this post. I can be coming back to your weblog for extra soon.</description>
		<content:encoded><![CDATA[<p>Good day! I simply would like to give a huge thumbs up for the good data you&#8217;ve gotten here on this post. I can be coming back to your weblog for extra soon.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jerrod Fields</title>
		<link>http://adavidchan.com/the-refactor-factor/comment-page-1#comment-1188</link>
		<dc:creator>Jerrod Fields</dc:creator>
		<pubDate>Wed, 20 Jul 2011 11:27:51 +0000</pubDate>
		<guid isPermaLink="false">http://blog.dekandustry.com/2007/03/26/the-refactor-factor/#comment-1188</guid>
		<description>Make a another post about this sometime</description>
		<content:encoded><![CDATA[<p>Make a another post about this sometime</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mellie Thielemann</title>
		<link>http://adavidchan.com/the-refactor-factor/comment-page-1#comment-1154</link>
		<dc:creator>Mellie Thielemann</dc:creator>
		<pubDate>Thu, 19 May 2011 14:04:28 +0000</pubDate>
		<guid isPermaLink="false">http://blog.dekandustry.com/2007/03/26/the-refactor-factor/#comment-1154</guid>
		<description>Every day I read this blog and it pleases me to be written here posts.</description>
		<content:encoded><![CDATA[<p>Every day I read this blog and it pleases me to be written here posts.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nude Games</title>
		<link>http://adavidchan.com/the-refactor-factor/comment-page-1#comment-1137</link>
		<dc:creator>Nude Games</dc:creator>
		<pubDate>Tue, 12 Apr 2011 08:18:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.dekandustry.com/2007/03/26/the-refactor-factor/#comment-1137</guid>
		<description>For additional information on WWE Tryouts and new wrestling superstars, individuals are urged to visit http://www.wwe.com and click on the ‘Tryouts’ link, which is located in the far left column.  Many new WWE talents will appear for live and televised events on an occasional basis while others will become instant superstars.  A rigorous workout regimen, travel schedule and exhausting competitions are all a part of the wrestling lifestyle.  In addition to that, cheering fans, impressive merchandising and tons of autograph requests are among the upside to the media attention that comes with professional wrestling.</description>
		<content:encoded><![CDATA[<p>For additional information on WWE Tryouts and new wrestling superstars, individuals are urged to visit <a href="http://www.wwe.com" rel="nofollow">http://www.wwe.com</a> and click on the ‘Tryouts’ link, which is located in the far left column.  Many new WWE talents will appear for live and televised events on an occasional basis while others will become instant superstars.  A rigorous workout regimen, travel schedule and exhausting competitions are all a part of the wrestling lifestyle.  In addition to that, cheering fans, impressive merchandising and tons of autograph requests are among the upside to the media attention that comes with professional wrestling.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: aarp career</title>
		<link>http://adavidchan.com/the-refactor-factor/comment-page-1#comment-1129</link>
		<dc:creator>aarp career</dc:creator>
		<pubDate>Wed, 02 Mar 2011 05:01:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.dekandustry.com/2007/03/26/the-refactor-factor/#comment-1129</guid>
		<description>Hmm it appears like your website ate my first comment (it was extremely long) so I guess I&#039;ll just sum it up what I submitted and say, I&#039;m thoroughly enjoying your blog. I too am an aspiring blog writer but I&#039;m still new to everything. Do you have any suggestions for inexperienced blog writers? I&#039;d genuinely appreciate it.</description>
		<content:encoded><![CDATA[<p>Hmm it appears like your website ate my first comment (it was extremely long) so I guess I&#8217;ll just sum it up what I submitted and say, I&#8217;m thoroughly enjoying your blog. I too am an aspiring blog writer but I&#8217;m still new to everything. Do you have any suggestions for inexperienced blog writers? I&#8217;d genuinely appreciate it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dudevu Downloader</title>
		<link>http://adavidchan.com/the-refactor-factor/comment-page-1#comment-1072</link>
		<dc:creator>dudevu Downloader</dc:creator>
		<pubDate>Fri, 11 Jun 2010 07:23:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.dekandustry.com/2007/03/26/the-refactor-factor/#comment-1072</guid>
		<description>Divide movies to several clips</description>
		<content:encoded><![CDATA[<p>Divide movies to several clips</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Allen K.</title>
		<link>http://adavidchan.com/the-refactor-factor/comment-page-1#comment-3</link>
		<dc:creator>Allen K.</dc:creator>
		<pubDate>Wed, 28 Mar 2007 21:53:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.dekandustry.com/2007/03/26/the-refactor-factor/#comment-3</guid>
		<description>In an ideal world, there would be no need for refactoring. As Zach stated, things should be done right the first time, and not simply put off until some later phase. This I completely agree with. Refactoring is not the solution to writing bad code. This is in no way what refactoring was meant to solve. Refactoring is meant to counteract the inevitable &#039;software entropy&#039; that all long-term projects face. Any code base should be reviewed to ensure that it is wise to refactor it before moving on.

There are numerous reasons why a codebase would be in a state where it requires refactoring. Perhaps the schedule for a project was slipping and corners had to be cut in order to ship a product, or what was once considered good, clean code no longer satisfies the new requirements. Or the developer was just hung over from a long night of drinking and playing World of Warcraft and just wrote sloppy code the next day. Also, No two developers are the same, and even the same developer last year is not the same as he is now. I myself have looked over old code, said &quot;Who the hell wrote this crap?&quot; only to find out later that it was actually me.

Whatever the case, there are numerous benefits to refactoring. It allows the developers to solidify the code base, clean up inconsistencies, and improve the overall quality of the product without affecting the user output. When done correctly, the end result is a code base that can save time, energy, and debugging headaches in the future. It should be able to support the addition of new features quickly and easily (improved extensibility and scalability), and reduce the amount of maintenance work required.  

Another analogy you can use for refactoring (or software development in general) is Gardening. Over time, despite how well you grow your plants and arrange them into neat patterns, you eventually grow weeds. If you don&#039;t stop and pull out these weeds, they will eventually spread and overwhelm your entire garden. The same holds true with any software development project that needs to be refactored.</description>
		<content:encoded><![CDATA[<p>In an ideal world, there would be no need for refactoring. As Zach stated, things should be done right the first time, and not simply put off until some later phase. This I completely agree with. Refactoring is not the solution to writing bad code. This is in no way what refactoring was meant to solve. Refactoring is meant to counteract the inevitable &#8217;software entropy&#8217; that all long-term projects face. Any code base should be reviewed to ensure that it is wise to refactor it before moving on.</p>
<p>There are numerous reasons why a codebase would be in a state where it requires refactoring. Perhaps the schedule for a project was slipping and corners had to be cut in order to ship a product, or what was once considered good, clean code no longer satisfies the new requirements. Or the developer was just hung over from a long night of drinking and playing World of Warcraft and just wrote sloppy code the next day. Also, No two developers are the same, and even the same developer last year is not the same as he is now. I myself have looked over old code, said &#8220;Who the hell wrote this crap?&#8221; only to find out later that it was actually me.</p>
<p>Whatever the case, there are numerous benefits to refactoring. It allows the developers to solidify the code base, clean up inconsistencies, and improve the overall quality of the product without affecting the user output. When done correctly, the end result is a code base that can save time, energy, and debugging headaches in the future. It should be able to support the addition of new features quickly and easily (improved extensibility and scalability), and reduce the amount of maintenance work required.  </p>
<p>Another analogy you can use for refactoring (or software development in general) is Gardening. Over time, despite how well you grow your plants and arrange them into neat patterns, you eventually grow weeds. If you don&#8217;t stop and pull out these weeds, they will eventually spread and overwhelm your entire garden. The same holds true with any software development project that needs to be refactored.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zach Lawrence</title>
		<link>http://adavidchan.com/the-refactor-factor/comment-page-1#comment-2</link>
		<dc:creator>Zach Lawrence</dc:creator>
		<pubDate>Wed, 28 Mar 2007 19:57:22 +0000</pubDate>
		<guid isPermaLink="false">http://blog.dekandustry.com/2007/03/26/the-refactor-factor/#comment-2</guid>
		<description>I agree that from time to time, code should be refactored, especially at the core component level. As stated, most timelines for projects are far shorter than proper coding practices can be implemented. However, at the same time, some care should really be taken in providing proper habits (I prefer not to use the term &quot;Best practices&quot;, as history has dictated that &quot;Best Practices&quot; are fluid in nature and have a habit of changing, at minimum, monthly). 

Refactoring should not be relied on for proper coding methodology, but rather as a &quot;TODO&quot; item for the long term. What is often seen is that a developer will race through the code without having developed proper planning for objects and sequence/state diagrams (I am completely guilty of this, as are many people who say they aren&#039;t), which ends up with poor/obsolete code right at first release (Beta as this article indicates), with the thought that &quot;Oh. It&#039;ll be fixed up in the refactoring cycle&quot;. 

What should happen is that the developer should develop and implement some of the primary habits (&quot;Best Practices&quot;) of designing their objects first, figuring out what has what, what state delegates which method and so on. Once this has been worked out, then start coding with the idea that &quot;This is it!&quot;, and write the most elegant and effecient code they can for the objects/processes. If these criteria are met first, then the developer can be justified down the road in saying that &quot;Hey. I&#039;ve found a better way to do this, let&#039;s refactor it.&quot;, and then place it in the refactoring cycle.

To have a cycle in which all it is is refactoring of old code, simply means that it wasn&#039;t really done properly the first time, and certainly shouldn&#039;t have gone out the way it was. This may seem like timelines won&#039;t be met, but in my experience, proper planning, research and habits up front will make the actual implementation go that much faster, produce better results, and reduce the need for refactoring.

...of course, I may also be just talking out of my a@#....</description>
		<content:encoded><![CDATA[<p>I agree that from time to time, code should be refactored, especially at the core component level. As stated, most timelines for projects are far shorter than proper coding practices can be implemented. However, at the same time, some care should really be taken in providing proper habits (I prefer not to use the term &#8220;Best practices&#8221;, as history has dictated that &#8220;Best Practices&#8221; are fluid in nature and have a habit of changing, at minimum, monthly). </p>
<p>Refactoring should not be relied on for proper coding methodology, but rather as a &#8220;TODO&#8221; item for the long term. What is often seen is that a developer will race through the code without having developed proper planning for objects and sequence/state diagrams (I am completely guilty of this, as are many people who say they aren&#8217;t), which ends up with poor/obsolete code right at first release (Beta as this article indicates), with the thought that &#8220;Oh. It&#8217;ll be fixed up in the refactoring cycle&#8221;. </p>
<p>What should happen is that the developer should develop and implement some of the primary habits (&#8221;Best Practices&#8221;) of designing their objects first, figuring out what has what, what state delegates which method and so on. Once this has been worked out, then start coding with the idea that &#8220;This is it!&#8221;, and write the most elegant and effecient code they can for the objects/processes. If these criteria are met first, then the developer can be justified down the road in saying that &#8220;Hey. I&#8217;ve found a better way to do this, let&#8217;s refactor it.&#8221;, and then place it in the refactoring cycle.</p>
<p>To have a cycle in which all it is is refactoring of old code, simply means that it wasn&#8217;t really done properly the first time, and certainly shouldn&#8217;t have gone out the way it was. This may seem like timelines won&#8217;t be met, but in my experience, proper planning, research and habits up front will make the actual implementation go that much faster, produce better results, and reduce the need for refactoring.</p>
<p>&#8230;of course, I may also be just talking out of my a@#&#8230;.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

