<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.developerdotstar.com/community" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>developer.* Blogs - Refactor-itis - Comments</title>
 <link>http://www.developerdotstar.com/community/node/468</link>
 <description>Comments for &quot;Refactor-itis&quot;</description>
 <language>en</language>
<item>
 <title>Refactoring Outside of a Vacuum</title>
 <link>http://www.developerdotstar.com/community/node/468#comment-1099</link>
 <description>&lt;p&gt;Hi, John, thanks for your comments. I agree with you that refactoring should not be resisted simply because of fear of change. I think the interesting part of the &quot;should I refactor this?&quot; question is the larger picture--as in the example above, if we refactor a public interface without considering the &quot;contract&quot; implicit in that interface, then we can break other people&#039;s code in the process. I would say also there is a general risk consideration: how complicated and intertwined is the code you are looking to refactor, and do you have the time and resources to ensure that the code will still behave the same after you&#039;re done? In a production maintenance situation or under schedule pressure, if the risks outweigh the rewards then the prudent thing might be to simply add some good comments to the code rather than refactor it. That&#039;s not resistence to change, just professional pragmatism.&lt;/p&gt;
&lt;p&gt;Anyway, I don&#039;t mean to come off as lecturing you. I agree with your point: if better quality will result, go for it. But like those physics problems where the formulas only work if you assume the absence of gravitational pull or friction, sometimes reality gets in the way.&lt;/p&gt;
&lt;p&gt;Dan&lt;/p&gt;
</description>
 <pubDate>Mon, 15 May 2006 09:34:31 -0700</pubDate>
 <dc:creator>Daniel Read</dc:creator>
 <guid isPermaLink="false">comment 1099 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>Refactoring for quality</title>
 <link>http://www.developerdotstar.com/community/node/468#comment-1094</link>
 <description>&lt;p&gt;I do not see anything wrong with refactoring,if it is done for a better quality. After all, we are living in a progressive era. Things are progressing and changing everyday at fast pace. It would be inappropriate to resist the changes.&lt;/p&gt;
</description>
 <pubDate>Mon, 15 May 2006 00:37:13 -0700</pubDate>
 <dc:creator>john3223</dc:creator>
 <guid isPermaLink="false">comment 1094 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>Refactoring with sense</title>
 <link>http://www.developerdotstar.com/community/node/468#comment-1036</link>
 <description>&lt;p&gt;I totally agree with your statement that refactoring for fun is not acceptable in a professional environment. However, I&#039;ve seen people working this way systematically : constantly changing interfaces under the cloak of &#039;refactoring&#039; instead of taking one step back and checking why it needs constant revising without requirement changes. The root cause (in this example) was that the developer simply didn&#039;t think things through. &lt;/p&gt;
&lt;p&gt;Damith gave a good response on the refactoring of interfaces : People are not always fully aware that they are not the only consumer of a certain interface. &lt;/p&gt;
&lt;p&gt;For example, why is Microsoft&#039;s Visual Studio API breaking some of its interfaces every time a new version comes out ? The reason is simple: there&#039;s not enough emphasis on refactoring with sense. &lt;/p&gt;
&lt;p&gt;Mario.&lt;/p&gt;
</description>
 <pubDate>Tue, 25 Apr 2006 08:01:39 -0700</pubDate>
 <dc:creator>Mario Van Damme</dc:creator>
 <guid isPermaLink="false">comment 1036 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>Refactoring and reuse</title>
 <link>http://www.developerdotstar.com/community/node/468#comment-1026</link>
 <description>&lt;p&gt;I agree with the guest&#039;s view that an interface may be refactored, as long as it does not alter the external system behavior. Of course what is considered &#039;system&#039; and &#039;external&#039; may differ if there is fine grain reuse across systems. For example if the said interface is reused for another system, then altering it affects a certain &#039;external&#039; behaviour of the system. my 2 cents...&lt;/p&gt;
</description>
 <pubDate>Sun, 23 Apr 2006 18:27:45 -0700</pubDate>
 <dc:creator>Damith C. Rajapakse</dc:creator>
 <guid isPermaLink="false">comment 1026 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>About the refactoring of an</title>
 <link>http://www.developerdotstar.com/community/node/468#comment-1022</link>
 <description>&lt;p&gt;About the refactoring of an interface: this is totally acceptable (and according to the definition of Fowler) if the behaviour of the system as a whole does not change.&lt;br /&gt;
It all depends on the point of view you have: you can refactor a single component (which means the interface will not change), or you can refactor e.g. the interaction between components (which means the interfaces may change, but the system as a whole will not).&lt;/p&gt;
&lt;p&gt;On a more general note: refactoring is a natural part of the coding process. However it should be done early on, to come to a clean implementation as soon as possible.&lt;br /&gt;
If the code is left in a messy state, the refactoring will be required much later on (when the bugs start coming in), and at this point it will become much more expensive (and it will introduce more risks).&lt;br /&gt;
So: write good code in the first place, and the need for refactoring will be diminished.&lt;/p&gt;
&lt;p&gt;Of course: refactoring just for the fun of it is never acceptable (at least not in a professional environment).&lt;/p&gt;
</description>
 <pubDate>Fri, 21 Apr 2006 06:24:57 -0700</pubDate>
 <dc:creator>Guest</dc:creator>
 <guid isPermaLink="false">comment 1022 at http://www.developerdotstar.com/community</guid>
</item>
<item>
 <title>Refactor-itis</title>
 <link>http://www.developerdotstar.com/community/node/468</link>
 <description>&lt;p&gt;I have an urgent need to talk about a disease which is a threat to the health of the software we create: &quot;refactor-itis&quot;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.developerdotstar.com/community/node/468&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.developerdotstar.com/community/node/468#comment</comments>
 <category domain="http://www.developerdotstar.com/community/taxonomy/term/20">Software Development</category>
 <pubDate>Fri, 21 Apr 2006 00:23:29 -0700</pubDate>
 <dc:creator>Mario Van Damme</dc:creator>
 <guid isPermaLink="false">468 at http://www.developerdotstar.com/community</guid>
</item>
</channel>
</rss>
