Nielsp wrote:
And another thing you might not have thought of a function being abstract but at one point someone might do a is a :-)
Niels,
True, but we are not supposed to inherit from an implemented function :smile
Though it would seem to me that using the pattern subroutine structure would make it easier to do so... which is maybe why we shouldn't use it!
My thinking is that if I need to abstract out the functionality in an existing implemented function, it wouldn't be a big deal to add the subroutine structure at that time to the abstract version.
Which ties back to Crispin's post...adding it if needed is easy to do without effecting functionality...I can't imagine a scenario where I'd regret not having it in the first place...
I guess for me, when I see a subroutine with the pattern structure, I expect it to have been inherited from somewhere and used in more than one place such that there's a good chance I'm familiar with what it does. Thus, may not even need to open it up.
With local subroutines, I can't say the same. Even with a decent name, I'm going to need to open them up to understand them, having the extra, unneeded depth doesn't seem to add value.
Charles