Wie sieht eure Verzeichnisstrukur von Projekten aus
-
wowo schrieb:
rüdiger schrieb:
@kernel64
Nö, ich trenne nicht nach Sprachen. Macht ja auch keinen Sinn, wenn man in einem Projekt zB mehrere Sprachen verwendet. Die Programmiersprache ist ja nur ein Werkzeug von vielen. Ich trenne ja auch nicht nach verwendeten Bibliotheken, VCS oder Buildsystemen etc.Soll das bedeuten, dass du Java und C# Code in einen Ordner werfen würdest?
Wenn die zu einem Projekt gehören, vielleicht schon. Spricht aber natürlich nichts dagegen, dass man im src-Ordner mehrere Unterordner hat, wenn man getrennte Module entwickelt.
-
ich knall alles in einen ordner, alles andere ist mir zu wuselig.
-
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.