There has been a lot of discussion recently, usually very deep and thorough/language designy, about the extension behaviour of methods. Now most of these discussions that I very loosely followed seem to address how the language should be designed for handling the various situations that might occur. Most of them did not lead to a clear conclusion yet I believe.
I am however usually facing the more concrete and trivial situation where I am naming a method like
position(atom::Atom), to then see an autocomplete suggestion
position(stream::IO) pop up. I always wonder on whether I should then extend Base, or just encapsulate my method only inside the modules that I am using it in. While I think either way works, I’m more inclined to go with the latter. What are the general best practices for this? Or, could I get some feedback of more experienced developers/programmers on what their choice usually is?
offtopic: how can I add a tag that hasn’t been used before? If impossible, could we have a tag:
style guides or something?