On Monday, 21 April 2014 at 13:03:50 UTC, Ola Fosheim Grøstad wrote:
On Monday, 21 April 2014 at 08:33:21 UTC, Lars T. Kyllingstad wrote:
On Sunday, 20 April 2014 at 13:01:53 UTC, Gary Willoughby wrote:
Yeah it does. If the function can be used generically across many different parts of the program then it would be much better implemented as a non-member function, even if it's defined in the same module as an associated class.

I agree. If a function is generally useful outside the context of a class, it should not be defined in the class.

I think this view is too simple. Even if a function is generally useful you risk ending up with maintenance problems later on when you need to optimize your code. So if in doubt, make it local.

I agree, but I think that's more a question of *when* a function is considered "generally useful". To me, that is when I have an actual use case for it beyond the one for which it was originally designed, and not just because I think it might come in handy some time in the future. "If in doubt, make it private" is always a good guideline.

Reply via email to