[Python-Dev] Convention on functions that shadow existing stdlib functions

R. David Murray rdmurray at bitdance.com
Wed Jul 27 17:11:10 CEST 2011


On Wed, 27 Jul 2011 16:58:53 +0300, Eli Bendersky <eliben at gmail.com> wrote:
> R. David Murray wrote:
> > But they aren't redundant, since the test.support versions ignore
> > errors.
> 
> As I mentioned elsewhere, it's not good practice to have two functions with
> the same name doing something slightly different, in different modules in
> the code-base.

Well, that would seem to be a matter of opinion.  I see your point, but
I'm not sure that I agree.  But see below.

> What do you mean by vetting the test suite so that unlink is always taken
> from test.support? I suppose some tests would specifically want the original
> unlink's functionality. In fact, at least a few tests use os.unlink
> exlicitly.

What I mean is that if the test code always did:

    import support

    [...]

    support.unlink('testtempfile')

then there would be no confusion when someone grepped the code for
'unlink' or was reading the code without having noticed the import.
That is, give the functions a unique name by using the 'support'
name space explicitly, rather than by renaming them within the
module.

--
R. David Murray           http://www.bitdance.com


More information about the Python-Dev mailing list