<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: The P.G. Wodehouse Method Of Refactoring</title>
	<link>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/</link>
	<description>Incoherent and disjointed opinionated drivel from somewhere near London</description>
	<pubDate>Sat, 05 Jul 2008 01:15:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
		<item>
		<title>By: The P.G. Wodehouse Method Of Refactoring</title>
		<link>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-2536</link>
		<dc:creator>The P.G. Wodehouse Method Of Refactoring</dc:creator>
		<pubDate>Sat, 28 Jun 2008 05:00:13 +0000</pubDate>
		<guid>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-2536</guid>
		<description>[...] came accross a pretty good post on refactoring today on Basildon Coder.&#160; The post offers some sound advice on when and how to refactor code.&#160; I found the [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] came accross a pretty good post on refactoring today on Basildon Coder.&nbsp; The post offers some sound advice on when and how to refactor code.&nbsp; I found the [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Beauty of Code &#187; Blog Archive &#187; Ideas for analysing legacy code</title>
		<link>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-2138</link>
		<dc:creator>Beauty of Code &#187; Blog Archive &#187; Ideas for analysing legacy code</dc:creator>
		<pubDate>Sat, 31 May 2008 09:14:03 +0000</pubDate>
		<guid>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-2138</guid>
		<description>[...] Code wrote about the P.G.Wodehouse method of Refactoring, which reminded me of a graphic I have seen at the Museum of Modern Art in &#8216;Design and the [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Code wrote about the P.G.Wodehouse method of Refactoring, which reminded me of a graphic I have seen at the Museum of Modern Art in &#8216;Design and the [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Basildon Coder » Blog Archive » The P.G. Wodehouse Method Of Refactoring &#124; TechnoPrimitive</title>
		<link>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-738</link>
		<dc:creator>Basildon Coder » Blog Archive » The P.G. Wodehouse Method Of Refactoring &#124; TechnoPrimitive</dc:creator>
		<pubDate>Sun, 06 Apr 2008 22:25:59 +0000</pubDate>
		<guid>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-738</guid>
		<description>[...] Basildon Coder » Blog Archive » The P.G. Wodehouse Method Of Refactoring I am much given to ruminating on refactoring at the moment, as one of my current projects is a major overhaul of a fairly large (&#62;31,000 lines) application which has exactly the kind of dotted history any experienced developer has learned to fear - written by many different people, including short-term contractors, at a time in the company’s life when first-mover advantage was significantly more important than coding best-practice, and without any consistent steer on the subjects of structure, coding conventions, unit tests, and so on. [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Basildon Coder » Blog Archive » The P.G. Wodehouse Method Of Refactoring I am much given to ruminating on refactoring at the moment, as one of my current projects is a major overhaul of a fairly large (&gt;31,000 lines) application which has exactly the kind of dotted history any experienced developer has learned to fear - written by many different people, including short-term contractors, at a time in the company’s life when first-mover advantage was significantly more important than coding best-practice, and without any consistent steer on the subjects of structure, coding conventions, unit tests, and so on. [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hanging your code out to dry - AgileJoe</title>
		<link>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-655</link>
		<dc:creator>Hanging your code out to dry - AgileJoe</dc:creator>
		<pubDate>Thu, 27 Mar 2008 23:29:22 +0000</pubDate>
		<guid>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-655</guid>
		<description>[...] less an exercise. So we have lots of HiFi options but what LoFi options do we have. Well one that I read about recently peeked my interest. As you can see this low friction high value approach is well within anyone’s [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] less an exercise. So we have lots of HiFi options but what LoFi options do we have. Well one that I read about recently peeked my interest. As you can see this low friction high value approach is well within anyone’s [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Elliot</title>
		<link>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-654</link>
		<dc:creator>Michael Elliot</dc:creator>
		<pubDate>Thu, 27 Mar 2008 16:57:28 +0000</pubDate>
		<guid>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-654</guid>
		<description>If we all could agree that domain specific knowledge and particulars of actual applications greatly dictate the manners by which code refactoring should be done, that would be great.

In general what's typically missing in code is why certain code exists.  This is very hard to capture without reasonably accurate coding standards and designs.  Keeping roles and responsibilities highly consistent helps to keep the code in this state and doing this requires constant refactoring of even more recently written code. (Of course this is for projects whose lifeline is in the 5 - 10 year arena, which is crazy, but true for certain machine control applications)

And yes, I agree a big picture certainly does help see where code and complexity reign.  If done correctly, this would happen when multiple interfaces must be integrated within a single class/entry point.

I've spent my entire career refactoring code that functions at ~75% case, but fails in a large set of other cases.  Typically it is because these junction points are either poorly designed, written, or missing altogether.  Not to belittle the idea of looking at something from 10,000 feet, but isn't that what UML is all about?</description>
		<content:encoded><![CDATA[<p>If we all could agree that domain specific knowledge and particulars of actual applications greatly dictate the manners by which code refactoring should be done, that would be great.</p>
<p>In general what&#8217;s typically missing in code is why certain code exists.  This is very hard to capture without reasonably accurate coding standards and designs.  Keeping roles and responsibilities highly consistent helps to keep the code in this state and doing this requires constant refactoring of even more recently written code. (Of course this is for projects whose lifeline is in the 5 - 10 year arena, which is crazy, but true for certain machine control applications)</p>
<p>And yes, I agree a big picture certainly does help see where code and complexity reign.  If done correctly, this would happen when multiple interfaces must be integrated within a single class/entry point.</p>
<p>I&#8217;ve spent my entire career refactoring code that functions at ~75% case, but fails in a large set of other cases.  Typically it is because these junction points are either poorly designed, written, or missing altogether.  Not to belittle the idea of looking at something from 10,000 feet, but isn&#8217;t that what UML is all about?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sheyll</title>
		<link>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-650</link>
		<dc:creator>sheyll</dc:creator>
		<pubDate>Thu, 27 Mar 2008 07:23:30 +0000</pubDate>
		<guid>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-650</guid>
		<description>Hi

rewrites can be of great benefit, if the relevant sections of the legacy code are recognized, documented and isolated.

Rewrites are necessary if the underlying technology changes significantly. Like porting an application from java to erlang(like we do right now).

Also, on an abtract level rewrite != rewrite, distinguishing different classes of "rewrites" is wortwhile.</description>
		<content:encoded><![CDATA[<p>Hi</p>
<p>rewrites can be of great benefit, if the relevant sections of the legacy code are recognized, documented and isolated.</p>
<p>Rewrites are necessary if the underlying technology changes significantly. Like porting an application from java to erlang(like we do right now).</p>
<p>Also, on an abtract level rewrite != rewrite, distinguishing different classes of &#8220;rewrites&#8221; is wortwhile.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: VB6 rulez</title>
		<link>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-644</link>
		<dc:creator>VB6 rulez</dc:creator>
		<pubDate>Wed, 26 Mar 2008 19:44:42 +0000</pubDate>
		<guid>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-644</guid>
		<description>Get a decent code analyzer and cut out the unused parts. That's the best refactoring one can do to old code.</description>
		<content:encoded><![CDATA[<p>Get a decent code analyzer and cut out the unused parts. That&#8217;s the best refactoring one can do to old code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Duncan Lock</title>
		<link>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-639</link>
		<dc:creator>Duncan Lock</dc:creator>
		<pubDate>Wed, 26 Mar 2008 03:04:21 +0000</pubDate>
		<guid>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-639</guid>
		<description>How about a text editor that has 50,000 feet view built in, all the time? Would that help?

It's still in development, but it's coming along quickly:

http://www.sublimetext.com/

Dunc</description>
		<content:encoded><![CDATA[<p>How about a text editor that has 50,000 feet view built in, all the time? Would that help?</p>
<p>It&#8217;s still in development, but it&#8217;s coming along quickly:</p>
<p><a href="http://www.sublimetext.com/" rel="nofollow">http://www.sublimetext.com/</a></p>
<p>Dunc</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Will Bickford</title>
		<link>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-637</link>
		<dc:creator>Will Bickford</dc:creator>
		<pubDate>Tue, 25 Mar 2008 23:51:35 +0000</pubDate>
		<guid>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-637</guid>
		<description>30,000 lines of code doesn't qualify as large IMHO.

The source tree I primarily work on at work at the moment is roughly 150,000 lines of code - although metrics like that tend to de-value the actual content of the code.  In our case, we're dealing with a CMS written primarily in PHP and regular expressions with a lot of compacting done (read: each line is fairly complex).

I've done a similar comparison in the past where I took screen shots of code at an un-readable level.  I took two screen shots: 1) before and 2) after.  Sometimes a bird's eye view is just what the doctor ordered.</description>
		<content:encoded><![CDATA[<p>30,000 lines of code doesn&#8217;t qualify as large IMHO.</p>
<p>The source tree I primarily work on at work at the moment is roughly 150,000 lines of code - although metrics like that tend to de-value the actual content of the code.  In our case, we&#8217;re dealing with a CMS written primarily in PHP and regular expressions with a lot of compacting done (read: each line is fairly complex).</p>
<p>I&#8217;ve done a similar comparison in the past where I took screen shots of code at an un-readable level.  I took two screen shots: 1) before and 2) after.  Sometimes a bird&#8217;s eye view is just what the doctor ordered.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fortran IV</title>
		<link>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-626</link>
		<dc:creator>Fortran IV</dc:creator>
		<pubDate>Mon, 24 Mar 2008 21:04:56 +0000</pubDate>
		<guid>http://basildoncoder.com/blog/2008/03/21/the-pg-wodehouse-method-of-refactoring/#comment-626</guid>
		<description>Mr. Wizard: Actually my disk example was based on my dim recollection of Larry Niven's description of an Alderson disk (http://en.wikipedia.org/wiki/Alderson_disk).  The claim (which I am not mathematician enough to evaluate) is that if 1) the disk is wide enough in proportion to its thickness and 2) you are small enough in relation to the disk and 3) far enough from any edge, that the gravitational effect is roughly as though the disk has no edges at all.  But it's nothing I'm an authority on, and nothing to do with cleaning up legacy code anyway. :)</description>
		<content:encoded><![CDATA[<p>Mr. Wizard: Actually my disk example was based on my dim recollection of Larry Niven&#8217;s description of an Alderson disk (http://en.wikipedia.org/wiki/Alderson_disk).  The claim (which I am not mathematician enough to evaluate) is that if 1) the disk is wide enough in proportion to its thickness and 2) you are small enough in relation to the disk and 3) far enough from any edge, that the gravitational effect is roughly as though the disk has no edges at all.  But it&#8217;s nothing I&#8217;m an authority on, and nothing to do with cleaning up legacy code anyway. <img src='http://basildoncoder.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.286 seconds -->
