Coding Guidelines: Instance variables in views

Mo Morsi mmorsi at redhat.com
Tue Aug 21 11:36:06 UTC 2012


On 08/17/2012 05:12 PM, David Lutterkort wrote:
> On Thu, 2012-08-16 at 11:05 -0400, Matt Wagner wrote:
>> Hi folks,
>>
>> I've noticed that we've been objecting to patches using instance
>> variables to pass information to views, so I went to see our coding
>> guidelines page[1] to read about why.
>>
>> It makes very clear that it's bad, but it doesn't really explain the
>> right way. I'd hoped that the Coding Guidelines page would be more of a
>> guide on how to do things the right way.
>>
>> I've really only found one blog post[2] that addresses the issue, and it
>> doesn't really give a great example. It still uses an instance variable
>> in the controller, but inside of a view it passes it as a local
>> variable. It's more specific, sure, but it's not abundantly clear how
>> that actually makes anything better, or why an instance variable from
>> the controller to the view is okay but a view to a partial is not okay.
> I've seen that statement in the coding guidelines, and have simply been
> mystified by it. It seems to take a reasonable rule (reusable partials
> shouldn't rely on instance variables) to an absurd extreme (never use
> instance variables to pass data to a view)
>
> The dividing line should be whether a particular view/partial is
> reusable, or meant to be reusable. As long as a view is only used from
> one place, I don't see anything wrong with using instance variables.
> Note that that doesn't mean partials should never use instance variables
> - there's more reasons than reuse to split part of a view into a partial
> (AJAX updates, for example)
>
> David
>

+1. Would be in favour of rewording the code guidelines to take this
approach.

  -Mo



More information about the aeolus-devel mailing list