[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pykde
Subject:    Re: [PyQt] PyQt4.Qtcore defines 'hex'
From:       Jim Bublitz <jbublitz () nwinternet ! com>
Date:       2009-01-07 18:17:56
Message-ID: 200901071017.56789.jbublitz () nwinternet ! com
[Download RAW message or body]

On Wednesday 07 January 2009 05:27:06 am Sundance wrote:
> Adeodato Simó wrote:
> >If you see in the middle of a program hex_(foo), you may wonder
> > where that came from, whereas qhex(foo) is going to be rather
> > obvious.
>
> Greetings all,
>
> Might I humbly second this motion? I do understand the usual
> reservations about star-imports (being the kind of guy that often
> gets to debug other people's work...), but I also do appreciate the
> relative ease of getting away with it in PyQt's case, thanks to the
> prevalence of the Q prefix in its class names and its relative
> absence of module-level functions.
>
> With this in mind, using the same prefix for the three problematic
> functions makes good sense to me. Are there reservations about this
> approach that I may not be aware of?

One problem I'd see is that 'qhex' doesn't sort alphabetically the same 
as 'hex' or 'hex_' does. Also, other bindings - like PyKDE - have the 
same problem. In the case of PyKDE, it's in a lot more than three 
places. That makes it a lot harder for people to find it in the docs, 
especially if they're coming from or reconciling with Qt or KDE docs 
and method names. 

The 'q*' convention doesn't make a lot of sense for other bindings 
packages, and the underscore seems less likely to clash with other 
people's naming schemes, although in the case of PyQt a clash seems to 
have a fairly low probability either way. 

As to the ugliness factor, I somewhat agree, but then we're talking 
about a language that uses things like __init__  or __main__ all over 
the place. 

As to '*' imports - having done a lot of C/C++ where you have to declare 
every variable, declaring objects in an import statement isn't that 
difficult. And IIRC, PyKDE4 inherits name clashes between modules from 
KDE itself in a couple of places.

Jim

_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic