[Development] Header file cleanups

lars.knoll at nokia.com lars.knoll at nokia.com
Thu Mar 1 12:27:14 CET 2012


On 3/1/12 11:02 AM, "ext Thiago Macieira" <thiago.macieira at intel.com>
wrote:

>On quinta-feira, 1 de março de 2012 08.22.42, lars.knoll at nokia.com wrote:
>> Hi,
>> 
>> I've seen a few examples where people are cleaning up includes in header
>> (public or private but exported to other modules) files, as e.g.
>> http://codereview.qt-project.org/#change,18095.
>> 
>> While they are correct in theory, they cause problems in practice and
>> provide close to 0 (in fact negative) value to Qt. The only advantage is
>> some purity of our code and maybe a .1% speedup of compilation. This
>>does
>> not outweigh the negative side effects:
>> 
>> * They break SC needlessly for people porting from Qt 4.x
>> * They break downstream projects and some people (including myself) are
>> wasting quite a bit of time fixing up these breakages instead of fixing
>> actual bugs.
>> 
>> So please *don't* do these changes. They are simply not worth it.
>
>In the interest of getting work done and getting a 5.0 release, I'll
>agree 
>with Lars. Let's not do those potentially-incompatible changes right now.
>
>But I'd say that they can be done in the future. Depending on indirect
>includes is a bug in the user code, in my book.

According to the book it is. But in practice it happens all the time, and
we know it. 

Qt is first and foremost about making developers life easy, purity of code
comes second.

Cheers,
Lars


>Take for example this fix:
>
>https://codereview.qt-project.org/17381
>
>-- 
>Thiago Macieira - thiago.macieira (AT) intel.com
>  Software Architect - Intel Open Source Technology Center
>     Intel Sweden AB - Registration Number: 556189-6027
>     Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden
>_______________________________________________
>Development mailing list
>Development at qt-project.org
>http://lists.qt-project.org/mailman/listinfo/development




More information about the Development mailing list