From: Day Date: 2008-02-02T02:54:04+09:00 Subject: @var = change to accessor method? Why? In ZenTest 3.9.0's release notes (http://blog.zenspider.com/archives/2008/01/zentest_version_390_has_been_released.html), it says, "Cleaned out nearly every @ and use accessor methods instead. You should too." My first thought was, "What?" So in a blog comment, I asked about it. Here's that (brief) exchange: http://blog.zenspider.com/archives/2008/01/zentest_version_390_has_been_released.html#comments. I may still get an answer there, but it occurred to me that wider discussion might be better anyway (and he's probably on this list, yes?). I understand, now, that there is a difference and what that difference is (I think), but I still don't see why the latter is better. So... what's the advantage of changing class Thing attr_accessor :a def do_something(arg) @a = arg end end to... class Thing attr_accessor :a def do_something(arg) self.a = arg end end Am I missing some context that's helpful in understanding this? I'd think that it would be more valuable for readability to keep the @var assignment since it clues you in to the nature of the variable (vs. a class variable, etc.) than... anything else I can come up with. I will be the first to admit that, "anything I can come up with," is a pitifully small set of ideas. I'm not trying to say that this idea is bad or whatever... I'm wondering what I don't know. Thanks in advance for illumination. Ben