<?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: In Defence of class </title>
	<atom:link href="http://blog.mattwynne.net/2008/12/01/in-defence-of-class/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mattwynne.net/2008/12/01/in-defence-of-class/</link>
	<description>Matt Wynne taking it one tea at a time</description>
	<lastBuildDate>Fri, 27 Jan 2012 08:31:34 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Brian Takita</title>
		<link>http://blog.mattwynne.net/2008/12/01/in-defence-of-class/comment-page-1/#comment-335</link>
		<dc:creator>Brian Takita</dc:creator>
		<pubDate>Wed, 10 Dec 2008 20:05:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mattwynne.net/2008/12/01/in-defence-of-class/#comment-335</guid>
		<description>&lt;p&gt;@Pat - def self.foo isn&#039;t clear when it needs to reference self.bar (or self.class.bar) (what is self now?) and instance variables that are a part of the class object.&lt;/p&gt;

&lt;p&gt;Regarding the refactoring:
Sure, its easy to do a replace, but the mechanical steps are the easy part of the refactoring.
def self.foo makes it difficult to see that there is a separate object. Its an imperative operation instead of being declarative.&lt;/p&gt;

&lt;p&gt;The visual scattering happens all the time with projects that use def self.foo. I&#039;m currently on a project where its driving me nuts. Its simply more difficult to understand the code because I have to parse the entire file to see all of the def self.foo methods.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@Pat &#8211; def self.foo isn&#8217;t clear when it needs to reference self.bar (or self.class.bar) (what is self now?) and instance variables that are a part of the class object.</p>

<p>Regarding the refactoring:
Sure, its easy to do a replace, but the mechanical steps are the easy part of the refactoring.
def self.foo makes it difficult to see that there is a separate object. Its an imperative operation instead of being declarative.</p>

<p>The visual scattering happens all the time with projects that use def self.foo. I&#8217;m currently on a project where its driving me nuts. Its simply more difficult to understand the code because I have to parse the entire file to see all of the def self.foo methods.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Pat Maddox</title>
		<link>http://blog.mattwynne.net/2008/12/01/in-defence-of-class/comment-page-1/#comment-330</link>
		<dc:creator>Pat Maddox</dc:creator>
		<pubDate>Thu, 04 Dec 2008 06:10:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mattwynne.net/2008/12/01/in-defence-of-class/#comment-330</guid>
		<description>&lt;p&gt;I think that the refactoring benefits of class &lt;&lt; self are dubious.  M-x replace-string def self., def.  Even lesser editors will make that refactoring a breeze ;)  I &lt;em&gt;kind&lt;/em&gt; of sympathize with the argument that the visual grouping can alert you to an object that should be extracted, but I&#039;m not sure how common that really is, from my experience.  In my book, the clarity of def self.foo trumps the other arguments.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I think that the refactoring benefits of class &lt;&lt; self are dubious.  M-x replace-string def self., def.  Even lesser editors will make that refactoring a breeze <img src='http://blog.mattwynne.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />   I <em>kind</em> of sympathize with the argument that the visual grouping can alert you to an object that should be extracted, but I&#8217;m not sure how common that really is, from my experience.  In my book, the clarity of def self.foo trumps the other arguments.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Takita</title>
		<link>http://blog.mattwynne.net/2008/12/01/in-defence-of-class/comment-page-1/#comment-329</link>
		<dc:creator>Brian Takita</dc:creator>
		<pubDate>Thu, 04 Dec 2008 05:47:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mattwynne.net/2008/12/01/in-defence-of-class/#comment-329</guid>
		<description>&lt;p&gt;I find my editor&#039;s code folding/unfolding features very useful in identifying the eigenclass scope when it spans more than one page.&lt;/p&gt;

&lt;p&gt;If I&#039;m unsure, I do a quick fold all command, and then unfold until I get to my cursor. The unfolding is a quick way to identify whether you are in the eigenclass or class scope.&lt;/p&gt;

&lt;p&gt;It would be useful if ruby editors could somehow identify the lexical scope you are in (like a breadcrumb in the editor status area).&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I find my editor&#8217;s code folding/unfolding features very useful in identifying the eigenclass scope when it spans more than one page.</p>

<p>If I&#8217;m unsure, I do a quick fold all command, and then unfold until I get to my cursor. The unfolding is a quick way to identify whether you are in the eigenclass or class scope.</p>

<p>It would be useful if ruby editors could somehow identify the lexical scope you are in (like a breadcrumb in the editor status area).</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Wilden</title>
		<link>http://blog.mattwynne.net/2008/12/01/in-defence-of-class/comment-page-1/#comment-328</link>
		<dc:creator>Mark Wilden</dc:creator>
		<pubDate>Wed, 03 Dec 2008 22:40:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mattwynne.net/2008/12/01/in-defence-of-class/#comment-328</guid>
		<description>&lt;p&gt;Nice summation. Just one thing: you can declare class methods private with &lt;code&gt;private_class_method&lt;/code&gt;&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Nice summation. Just one thing: you can declare class methods private with <code>private_class_method</code></p>]]></content:encoded>
	</item>
	<item>
		<title>By: Avdi</title>
		<link>http://blog.mattwynne.net/2008/12/01/in-defence-of-class/comment-page-1/#comment-327</link>
		<dc:creator>Avdi</dc:creator>
		<pubDate>Wed, 03 Dec 2008 15:21:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mattwynne.net/2008/12/01/in-defence-of-class/#comment-327</guid>
		<description>&lt;p&gt;Congrats, I came here expecting to think &quot;WRONG WRONG WRONG&quot;, but you&#039;ve effectively summed up both the pros and cons and made a cogent and reasonable argument for using class &lt;&lt; self to define class methods.  Nicely done.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Congrats, I came here expecting to think &#8220;WRONG WRONG WRONG&#8221;, but you&#8217;ve effectively summed up both the pros and cons and made a cogent and reasonable argument for using class &lt;&lt; self to define class methods.  Nicely done.</p>]]></content:encoded>
	</item>
</channel>
</rss>

