[Development] Suggested addition to wiki.qt.io/Coding_Conventions

Thiago Macieira thiago.macieira at intel.com
Wed May 13 09:30:05 CEST 2015


On Wednesday 13 May 2015 10:25:57 Marc Mutz wrote:
> * it exports symbols that don't need exporting:
> ** private methods never called from user code
> ** methods of private nested structs and classes
> ** inline methods
> * exporting inline methods makes MSVC call the library implementation in
> debug  builds
> ** a copy of the function is placed in the library even though the library 
> itself may never use it
> ** exported inline functions can no longer be removed
> 
> Thus, exporting the whole class should be the exception, when the implicit 
> vtable and the typeinfo objects need to be exported, too. Non-polymorphic 
> classes don't have any of these, so exporting the whole class is a case of 
> Premature Pessimization.

The drawbacks only appear in debug builds, so is this worth the uglification?
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Development mailing list