mekakic
2009-09-01, 11:11:12
Ich sehne mich schon länger nach einem durchdachten Vorgehen für den Umgang mit Headerfiles. Meistens funktioniert es irgendwie, aber man sieht immer sehr unterschiedliche Vorgehen und ohne konkretes Vorgehen habe ich am Ende immer hunderte Headerfiles die Kreuz und quer inkludiert werden müssen damit "es funktioniert".
Ich habe einige Frage, wo ich nicht weiß ob das eine oder andere Vorgehen einen Vorteil hat oder ob das am Ende egal ist:
Was kommt alles in ein Standard-Include Files wie "StdAfx.h"? Kommen da nur Standbibliotheken und/oder andere middleware rein?
Wo Inkludiere ich StdAfx.h? Nur in der Implementierung (cpp) oder auch im Header?
Wenn es nur in das CPP File kommt (wie man häufig sieht) und ich dann wieder Abhängigkeiten aus der StdAfx.h nicht erst in der Implementierung, sondern schon in der Header-Definition (.h) brauche. Inkludiere ich das StdAfx.h File dann auch im Header/nur im Header/oder inkludiere ich die fraglichen Abhängigkeiten manuell in den Header?
Wird in der cpp-Datei erst StdAfx.h inkludiert oder erst das zugehörige Definitions-Header File?
Inkludiert man erst Projektabhängikeiten, dann Middleware Abhängigkeiten und dann evtl. weitere STL Includes? Oder macht eine andere oder überhaupt eine Reihenfolge Sinn?
Verwendet man zum Inkludieren der STL nur #include <> und sonst immer #include "". Oder verwendet man #include "" nur für Projektabhängigkeiten und #include <> für alle externe Middleware?
In allen Fällen funktioniert alles irgendwie. Ich frage mich wie man es vernünftig macht und wieso? Bzw. ob es eine Art Vorgehensmodell für diese Inkludierungen, damit einem das ganze wenigstens etwas organisierter vorkommt. :)
Ich habe einige Frage, wo ich nicht weiß ob das eine oder andere Vorgehen einen Vorteil hat oder ob das am Ende egal ist:
Was kommt alles in ein Standard-Include Files wie "StdAfx.h"? Kommen da nur Standbibliotheken und/oder andere middleware rein?
Wo Inkludiere ich StdAfx.h? Nur in der Implementierung (cpp) oder auch im Header?
Wenn es nur in das CPP File kommt (wie man häufig sieht) und ich dann wieder Abhängigkeiten aus der StdAfx.h nicht erst in der Implementierung, sondern schon in der Header-Definition (.h) brauche. Inkludiere ich das StdAfx.h File dann auch im Header/nur im Header/oder inkludiere ich die fraglichen Abhängigkeiten manuell in den Header?
Wird in der cpp-Datei erst StdAfx.h inkludiert oder erst das zugehörige Definitions-Header File?
Inkludiert man erst Projektabhängikeiten, dann Middleware Abhängigkeiten und dann evtl. weitere STL Includes? Oder macht eine andere oder überhaupt eine Reihenfolge Sinn?
Verwendet man zum Inkludieren der STL nur #include <> und sonst immer #include "". Oder verwendet man #include "" nur für Projektabhängigkeiten und #include <> für alle externe Middleware?
In allen Fällen funktioniert alles irgendwie. Ich frage mich wie man es vernünftig macht und wieso? Bzw. ob es eine Art Vorgehensmodell für diese Inkludierungen, damit einem das ganze wenigstens etwas organisierter vorkommt. :)