<br><br><div class="gmail_quote">On Wed, Jul 27, 2011 at 16:53, Steven D'Aprano <span dir="ltr"><<a href="mailto:steve@pearwood.info">steve@pearwood.info</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">Eli Bendersky wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Sure, but I'm still leery of two functions with the same name doing acting<br>
slightly differently.<br>
</blockquote>
<br>
<br></div>
and then in a later post:<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
As I mentioned elsewhere, it's not good practice to have two functions with<br>
the same name doing something slightly different, in different modules in<br>
the code-base.<br>
</blockquote>
<br></div>
artist.draw() and gunslinger.draw() do not necessarily need to do the same thing, and I don't agree that a (futile) preference for globally unique names is good practice: it can lead to unnecessarily long names (artist.draw_with_pencil_on_<u></u>paper) or redundant characters prefixing the name (itertools.imap -- what does the "i" in imap tell you that the itertools didn't already?). Solving this problem is what namespaces are for.<br>
<br>
Renaming test.support.ulink to something else doesn't fix the problem of unsupported support functions being used in third-party code. It may even *encourage* it, by making the extra functionality more explicit.<br>
<br>
However, is there any reason why test.support itself shouldn't be renamed test._support, or possibly _test.support, so that the *entire* suite is marked as a private implementation detail?<br></blockquote><div><br>Technically no for the _test idea, although it would promote the idea of not shipping Python with its tests, which would be a shame as it's hard enough to get people to run them. Renaming test.support is much more acceptable, just more work considering how many times that module is used in the test suite.<br>
</div></div>