[Development] Some Qt3D feedback

Marc Mutz marc.mutz at kdab.com
Thu Jun 18 17:17:19 CEST 2015


On Thursday 18 June 2015 15:45:06 Matthew Woehlke wrote:
> On 2015-06-18 09:07, Marc Mutz wrote:
> > 4. Includes:
> >    a. <QtFoo> includes the whole module (as is the case for QtCore, ...
> >    now) b. There's no <QtLike> include for just the namespace (with
> >    enums, free
> >    
> >       functions, etc). To get the namespace, users include any class from
> >       the module (much like no-one is using <QtGlobal> atm, but relies
> >       on any <QFoo> to include it indirectly).
> 
> Are you sure? I've used <QtGlobal> a good handful of times. In general I
> find it helpful to be able to include just the types / macros / free
> functions without dragging in some random class that I don't actually
> care about.
> 
> Reasons I have used <QtGlobal>:
> 
> - I want only the macros
> - I want only the platform / compiler feature symbols
> - I want only some free function (e.g. qRound)
> - I want only the convenience typedefs (e.g. qint64, qreal)
> 
> So I definitely would not say that there is no use for having a header
> with a module's global entities separate from the per-class headers.
> 
> In fact, I'm annoyed that <QtNumeric> is missing... IMHO if it's a
> public header, it should have a <CamelCaseName> wrapper. (Well, *was*
> missing; it was added in Qt5, thankfully!)

I believe people with so narrow use-cases can be bothered to include 
<QtCore/qglobal.h>. IIRC, the alternative proposal was to let people include 
the whole module (<QtCore>) to get the namespace (reliably, without depending 
on indirect includes). FWIW, your usual Qt module doesn't define lots of free 
functions and macros that you'd be interested in.

If you step back a bit, you'll notice that both <QtGlobal> and <QtNumeric>, as 
well as <QtNamespace> are big, fat, mistakes. QtGlobal doesn't include all of 
the Qt Global module, etc. They just confuse users by appearing in QtC header 
autocompletion.

Thanks,
Marc

-- 
Marc Mutz <marc.mutz at kdab.com> | Senior Software Engineer
KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt Experts



More information about the Development mailing list