re: When do you create a function or method? VIEW POST

FULL DISCUSSION
 

Please always use function as possible, and outsource the this.
I mean, instead of

class AwesomeClass

  def hello_world
    this.variable = other_method();
  end

end

use this


def hello_world(this)
  this.variable = other_method();
  return this;
end
 
 

Interesting. Few languages have this feature. So does that make the function an actual method but outside the class?

I edited by replacing function with def keyword.
Basically, instead of making class as global, use more functions as global primitives.

Put those right in Ruby files. Then when you require that file, you can use your functions.

So just one extra file where you put all functions (or methods in this case) related to that class?

 

Yes this is based on the fact that member functions should only be added if they use private or protected declarations. Member functions that use only the public declarations of an aggregate are just bloating the aggregate. This can even, in some rare cases, have a performance penalty, for example if the language has virtual by default (yes this exists !) however most of the time it's just a matter of readability (especially for languages that don't separate the declarations from the implementation).

code of conduct - report abuse