[rspec-users] class << self considered harmful... really?

David Chelimsky dchelimsky at gmail.com
Fri Nov 28 11:52:02 EST 2008


On Thu, Nov 27, 2008 at 8:17 PM, Mark Wilden <mark at mwilden.com> wrote:
> On Thu, Nov 27, 2008 at 5:57 PM, Brian Takita <brian.takita at gmail.com>
> wrote:
>>
>> I'm wondering if this is a discussion about taste.
>
> I think you're right. I've been using the 'def self.foo' style in various
> languages for almost 20 years, so of course it feels more natural to me.
> These languages (except for Smalltalk) had nowhere near the metaprogramming
> capability nor 'objects all the way down'-ness of Ruby, and 'class << self'
> is one of those things.
>
> ///ark

FWIW, the blog that led to this discussion suggested a performance
impact as well. As RSpec has gotten dinged for being slower than
alternatives, that interested me, so I did a little experiment def'ing
methods 10k times with def self.method and class << self; def method
....

def self.method ran an average of 10% faster.

Based on just that, I've all but eliminated class << self from rspec in git.

Crazy?


More information about the rspec-users mailing list