"Jamis Buck" <jgb3 / email.byu.edu> wrote in message

> Hmmm.  This is just me, but when I find myself with a method that can be
> logically broken down into different functional parts, I typically
> refactor the method, so that each of those parts is another method.

Sometimes this is a good choice. At other times it becomes contorted since
it loses shared context (local variables, parameters of the parent method)
and so adds unnecessary parameter passing. I was talking about those other
times.

def foo (w, x)
   # section 1
    y = a(w)
    z = b(y)
   # section 2
    ...
end

> And if I find that I have methods that should be grouped in clusters, I
> typically refactor _those_ into new classes, so:

Again, sometimes this works. You lose the shared context of the class
(instance variables etc) and that sometimes makes things contorted, imo.
Sometimes defining a module inline + including it immediately works too.

> AND, if I find that I have classes that need grouping, I refactor them
> out into new modules...and so forth.

Similarly, sometimes a good approach.

Just mho.