Per quanto ne so, .cpp di solito contiene molti più codici di .h, principalmente perché .cpp contiene i dettagli di implementazione delle funzioni invece di una sola riga della definizione di membro / metodo della classe.
Mi viene in mente un'idea piuttosto strana: è buona pratica scrivere o migrare alcuni contenuti o codici da .cpp a .h, al fine di ridurre la quantità di codici in .cpp?
So che non dovremmo scrivere tutto nell'intestazione per:
-
Impedisci un tempo di compilazione extra durante la ricompilazione dei codici dopo la modifica del contenuto nell'intestazione
-
Impedisci di includere un'intestazione da un'altra intestazione che non è necessaria per ogni unità di compilazione (ad esempio: spaghetti di intestazione precedenti)
ma penso che alcuni contenuti possano essere spostati nell'intestazione "in sicurezza", come la documentazione della funzione e le funzioni che soddisfano tutte le condizioni seguenti:
-
Funzioni raramente modificate
-
Funzioni semplici o banali (ad es .: set e getter)
-
Funzioni che non portano a dichiarazioni di inclusione extra in cpp
e il vantaggio del vantaggio di spostare le funzioni sulle intestazioni è che possiamo dichiarare quelle funzioni come inline che migliorano ulteriormente le prestazioni.
È buona norma restringere la differenza del numero di riga tra l'intestazione e i file .cpp corrispondenti?