I have started to combine classes of similar types in single header files..
È un buon approccio implementare la libreria, ma se è il tuo client di implementazione non richiede altre classi aggiuntive per l'implementazione. ad esempio il tuo file di intestazione contiene 1 milione di righe di codice dopo aver integrato un tipo simile di classi, quindi ci è voluto molto tempo per la compilazione.
Secondo la mia esperienza con il design della libreria e gli standard che seguo nella tecnologia Microsoft Linee guida per la progettazione della libreria . In caso di piattaforma .Net, fa non importa molto , ma nel caso di c ++ che ho ottenuto sullo sviluppo della mela Linee guida per la progettazione di librerie dinamiche è che la libreria dovrebbe mantenere questi seguenti fattori di implementazione.
- Focalizzato
- Facile da usare
- Facile da mantenere
Cerca di rendere i tuoi file di intestazione più piccoli e concisi in modo che sia facile capire e aumentare il tempo di compilazione. A volte preferisco avere una singola classe in un singolo file, alcuni esperti suggeriscono di seguire questo approccio. È possibile combinare classi che sono molto accoppiate tra loro in un singolo file.
Ref:
Più classi in un file di intestazione rispetto a un singolo file di intestazione per classe
Guida di stile di Google C ++