C++ Projektdateien organisieren



  • Hallo Leute,

    Ich wollte mal horchen, wie ihr so eure Projekte aufbaut und nach welchen kriterien ihr die Dateien anlegt.
    Bei mir ist es momentan so, dass ich für jede Klasse Dateien (.h/.cpp) anlege. Funktionen und Klassen die sinnvoll gruppiert werden können, schiebe ich meist in einen Unterordner. Hilfsprogramme wie makefile/cmake nutze ich momentan nicht.

    In OpenSource-Projekten finde ich oft Strukturen, in denen z.B. Header- und Source-Dateien getrennt werden (include- und src-Verzeichnis). Wie ist es bei euch? Habt ihr immer eine Feste Struktur oder ist es abhängig, wie euer Projekt aussieht?
    Wie sieht es bei Namespaces aus? Sollte ich für namespaces auch separate Dateien verwenden und für tiefere Ebenen Unterordner anlegen?
    z.B.

    Gruppe1::Gruppe2::meineFunktion()
    

    in dieser Struktur anlegen:

    /-- root
        |
        |-- src
            |
            |-- Gruppe1
                |
                |-- Gruppe2.h
                |-- Gruppe2.cpp
    

    viele Grüße,
    SBond



  • Dieser Thread wurde von Moderator/in Arcoth aus dem Forum C++ (alle ISO-Standards) in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Ist eher RudP, weil deine Frage überwiegend auf Projekte vieler Sprachen zutrifft (namespaces sind auch in C# zu finden, und die include/src Aufteilung ist auch in C anwendbar).

    Ich hau meistens alles in einen Ordner bis es zu viel wird. Dann halt einen Ordner für Implementierungsdetails und weitere für grobe Aufteilung des Projekts. Namespaces habe ich relativ wenige (also nicht so krass wie bei Boost.Chrono o.ä.), und wenn das gesamte Projekt in einem namespace steckt, macht ein (weiterer) Ordner wenig Sinn.



  • Meine kleinen Ein-Mann-Projekte brauchen noch keine Namespaces oder Ordnerstrukturen. Also bei mir ist alles in einem Ordner.



  • habe hier noch was gefunden:
    https://www.c-plusplus.net/forum/187408-full

    das hat mir soweit geholfen. Ist wohl in der Suche etwas untergegangen 🙂


Log in to reply