Wie sieht eure Verzeichnisstrukur von Projekten aus
-
Wichtig ist, dass man das, was man sucht, möglichst rasch und sicher findet, und dass keine Dupletten entstehen. Alles andere ist zweitrangig. Verschiedene Programmiersprachen würde ich in Unterordner packen.
-
Da gabs ein paar gute Antowrten
http://www.c-plusplus.net/forum/viewtopic-var-t-is-211504
-
Von meinem aktuellen Projekt sieht die Struktur so aus:
[code]
<project>/
|-- bin
|\-\- unittest |\-\- data |\-\- doc |
-- doxygen
|-- libs
|-- media
|-- obj
|-- source
| |-- 3rdParty
| |-- include
| |-- scripts
|\-\- src |\-\- test |
-- unittest
\-\- tools
-- Notepad++wobei in scripts alle Build-spezifischen Sachen sind (in meinem Fall die VC++ Projekte), in obj wandern alle temporäre Dateien vom Linker, test enthält das Test-Build, bin das Release-Build, für beide werden Unittests durchgeführt, welche im entsprechenden Unterordner sind.
tool enthält kleine projektspezifischen Sachen die entwickelt wurden, in meinem Fall ein Highlighting für Notepad++ um die Config-Dateien mit Syntax-Highlighting zu versehen.
-
Korrigierter Beitrag
Von meinem aktuellen Projekt sieht die Struktur so aus:<project>/ |-- bin | `-- unittest |-- data |-- doc | `-- doxygen |-- libs |-- media |-- obj |-- source | |-- 3rdParty | |-- include | |-- scripts | `-- src |-- test | `-- unittest `-- tools `-- Notepad++
wobei in scripts alle Build-spezifischen Sachen sind (in meinem Fall die VC++ Projekte), in obj wandern alle temporäre Dateien vom Linker, test enthält das Test-Build, bin das Release-Build, für beide werden Unittests durchgeführt, welche im entsprechenden Unterordner sind.
tool enthält kleine projektspezifischen Sachen die entwickelt wurden, in meinem Fall ein Highlighting für Notepad++ um die Config-Dateien mit Syntax-Highlighting zu versehen.
-
rüdiger schrieb:
normalerweise schaut das so aus:
<projektname>/ <projektname>/src/ - Hier ist eben der Sourcecode <projektname>/include/<projektname>/ - Wenn es sich um eine Lib handelt, dann packe ich die Header in ein separates Verzeichnis. <projektname>/test/ - Hier sind die Unittests <projektname>/sandbox/ - Optional kommen hier ein paar Spielereien und Testprogramme rein. <projektname>/doc/ - Dokumentation
So ähnlich sieht das bei mir auch aus. Würde mich noch interessieren wo du die Binaries liegen hast, und wo du Build/Projekt-Files hin tust.
-
hustbaer schrieb:
rüdiger schrieb:
normalerweise schaut das so aus:
<projektname>/ <projektname>/src/ - Hier ist eben der Sourcecode <projektname>/include/<projektname>/ - Wenn es sich um eine Lib handelt, dann packe ich die Header in ein separates Verzeichnis. <projektname>/test/ - Hier sind die Unittests <projektname>/sandbox/ - Optional kommen hier ein paar Spielereien und Testprogramme rein. <projektname>/doc/ - Dokumentation
So ähnlich sieht das bei mir auch aus. Würde mich noch interessieren wo du die Binaries liegen hast, und wo du Build/Projekt-Files hin tust.
Build/Projekt-Files habe ich idr direkt im Projektordner. Vom Buildsystem lasse ich die Binaries in <projektname>/build/<buildtyp>/ legen (Wenn ich Makefiles als Buildsystem nehme, dann liegen in build nur die Objektdateien und die Binaries im Projektverzeichnis).
Wenn ich größere Projekt-Files (Visual Studio oder KDevelop mäßig) hätte, würde ich die wohl aber ggf. in einen Unterordner packen. TODO/README etc. Dateien landen auch immer im Projektverzeichnis.
Achso, wenn ich fremden Code im Projekt habe, landet der unter <projektname>/contrib/. Je nachdem kann es auch mal ein media oder data Verzeichnis geben.
-
Ich halte mich da ganz gern an die Maven Projektstruktur.
/src/main/java - Java Quelldateien für das Projekt /src/main/resources - Sonstige Resourcen für das Projekt /src/main/webapp - Resourcen der Webanwendung (*.xhtml, Deskriptoren, etc..) /src/test/java - Java Quelldateien für Tests /src/test/resources - Sonstige Resourcen für Tests /target/classes - Class-Dateien eben /target/<projektname>.war - Webarchiv der aktuellen Anwendung
Besteht eine Anwendung aus mehreren Modulen, werden diese ebenfalls nach dieser Struktur aufgebaut, wobei das eigentliche Projekt (also das im obersten Verzeichnis) auch oftmals völlig ohne Sourcen auskommt.
/module1/src/main/java - Java Quelldateien für Modul 1 /module1/src/main/resources ... /module2/src/main/java - Java Quelldateien für Modul 2 /module2/src/main/resources ... /src/main/java - Java Quelldateien für das Projekt /src/main/resources
-
Da ich mit Visual Studio 2008 arbeite wollte ich fragen, ob man selbst solche Verzeichnisstrukturen vordefinieren kann oder muss man sich an die von M$ halten?
Ich würde noch gern paar Verzeichnisse hinzufügen z.B. Media, Test usw.
-
Im Visual Studio 2008 kannst Du doch im Solution Explorer neue Verzeichnisse dazupacken und dort Klassen, Ressourcen usw. erstellen.
-
@kernel64: mit project-property-sheets lässt sich einiges "automatisieren" was das ewige umstellen der "bin" und "obj" Pfade angeht.