<?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"
	>
<channel>
	<title>Comments on: magpiebrain theatre presents, A story of&#160;Final</title>
	<atom:link href="http://www.magpiebrain.com/blog/2004/10/21/magpiebrain-theatre-presents-a-story-of-final/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.magpiebrain.com/blog/2004/10/21/magpiebrain-theatre-presents-a-story-of-final/</link>
	<description>Sam Newman's blog</description>
	<pubDate>Sat, 05 Jul 2008 00:46:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Stacy Curl</title>
		<link>http://www.magpiebrain.com/blog/2004/10/21/magpiebrain-theatre-presents-a-story-of-final/#comment-556</link>
		<dc:creator>Stacy Curl</dc:creator>
		<pubDate>Wed, 03 Nov 2004 10:20:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/10/21/magpiebrain-theatre-presents-a-story-of-final/#comment-556</guid>
		<description>Summary: Use final because it makes the code easier to change!

I think the real issue is: how can code remain 
changeable/extendable and yet retain the understandability goodness that final often provides.

Saying one should not use final as it reduces the ways in the which the code can be extended sounds like up front design to me. If one has taken the stance that users of the code will not or cannot change the code then of course this design needs to occur, but omitting final isn't the end of it. Just because a piece of code does not contain final does not mean it will be extensible, it just makes it a little more likely.

I think if one takes the stance that users of the code can and will change it then one doesn't need to design up front, one doesn't need to predict the future.

Therefore one can leave the code expressing what it does now, rather than what it might do tomorrow. This naturally makes the code easier to understand. 
Ironically this makes the code easier to change.
</description>
		<content:encoded><![CDATA[<p>Summary: Use final because it makes the code easier to change!</p>
<p>I think the real issue is: how can code remain <br />
changeable/extendable and yet retain the understandability goodness that final often provides.</p>
<p>Saying one should not use final as it reduces the ways in the which the code can be extended sounds like up front design to me. If one has taken the stance that users of the code will not or cannot change the code then of course this design needs to occur, but omitting final isn&#8217;t the end of it. Just because a piece of code does not contain final does not mean it will be extensible, it just makes it a little more likely.</p>
<p>I think if one takes the stance that users of the code can and will change it then one doesn&#8217;t need to design up front, one doesn&#8217;t need to predict the future.</p>
<p>Therefore one can leave the code expressing what it does now, rather than what it might do tomorrow. This naturally makes the code easier to understand. <br />
Ironically this makes the code easier to change.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dave</title>
		<link>http://www.magpiebrain.com/blog/2004/10/21/magpiebrain-theatre-presents-a-story-of-final/#comment-555</link>
		<dc:creator>dave</dc:creator>
		<pubDate>Thu, 21 Oct 2004 20:40:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/10/21/magpiebrain-theatre-presents-a-story-of-final/#comment-555</guid>
		<description>I habitually use as a phone screen question the definitions of final, finally, and finalize(), and ask for an engineering justification of when you would use each one.  It gives a good clue as to whether someone who puts "five years of Java experience" on their resume' has ever actually coded a line of it.  Maximal points on the "engineering use of final" is given for "in the case of methods or classes: never, it's useless".</description>
		<content:encoded><![CDATA[<p>I habitually use as a phone screen question the definitions of final, finally, and finalize(), and ask for an engineering justification of when you would use each one.  It gives a good clue as to whether someone who puts &#8220;five years of Java experience&#8221; on their resume&#8217; has ever actually coded a line of it.  Maximal points on the &#8220;engineering use of final&#8221; is given for &#8220;in the case of methods or classes: never, it&#8217;s useless&#8221;.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
