Popularna struktura folderów do budowania

Zastanawiam się, jaki jest popularny lub najlepszy sposób na uporządkowanie zasobów i kodu źródłowego w projekcie?

Author: Xian, 2009-01-15

9 answers

Personaly I use

/client/projectname/trunk/source/Solution Name.sln
/client/projectname/trunk/source/Project.One
/client/projectname/trunk/source/Project.Two
/client/projectname/trunk/source/Project.Three
/client/projectname/trunk/source/SQL/
/client/projectname/trunk/source/SQL/SomeScript.sql
/client/projectname/trunk/libraries
/client/projectname/trunk/resources/Nunit
/client/projectname/trunk/resources/LLBLGEN
/client/projectname/trunk/documentation
/client/projectname/trunk/builds
U nas działa dobrze, ale nie sądzę, że jest najlepszy. Jeśli chodzi o. net Możesz również spojrzeć na treesurgeon sami opisują to jako:

Czy spędziłeś kiedyś kilka dni na tworzeniu nowego drzewa deweloperskiego? Czy kiedykolwiek spędziłeś kilka dni na zakładaniu kilku drzew deweloperskich? Czy spędziłeś tygodnie próbując udoskonalić wszystkie drzewa rozwojowe za pomocą zestawu najlepszych praktyk?

Jeśli odpowiedź na każda z powyższych odpowiedzi brzmi "tak", wtedy polubisz Tree Surgeon!

Tree Surgeon jest generatorem drzewa programistycznego. NET. Po prostu nadaj mu nazwę swojego projektu, a w ciągu kilku sekund utworzy dla Ciebie drzewo programistyczne. Co więcej, twoje nowe drzewo ma wieloletnie doświadczenie w inżynierii budowlanej.

 1
Author: olle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-15 08:46:22

Mam

/src    - source files (test files are within a package 'test' here, or 'test' subpackage of what is being tested)
/lib    - required libraries
/doc    - text documentation and development notes
/build  - where we build (each separate build item within a subfolder here)
/conf   - configurations (each config, production, test, developer, etc gets a folder in here, and when building Jars and Wars the correct set is copied across)
/extras - other stuff
/extras/resources - resources that should be included within generated Jars, e.g., icons

Z

/websites - Web related content and configurations (each website in its own folder here)
/websites/$site/webcontent - All the web content here
/websites/$site/conf - website related configuration files here (instead of /conf)
/websites/$site/build.xml - ANT build script for website that creates a war, etc

(remember you might have an admin site and a public site for a single project, hence the multi-site configuration within a single project, or even site v1 and site v2, etc)

W końcu musisz być trochę elastyczny w zależności od samego projektu i tego, czy używasz ANT czy Maven. Używam ANT, i albo umieścić Skrypty ANT w / build, ale one pojawiły się gdzie indziej w niektórych projektach(jak w /websites / dla niektórych).

 18
Author: JeeBee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-15 10:45:39

Ogólnie:

src/      - source files
src/tests - unit tests
doc/      - documentation
res/      - static resources (textures, locale database, level definitions etc)
build/    - tools needed to build the system
            project specific libraries and compilers
Makefile  - the makefile (make, test, clean etc)
 11
Author: Martin Wickman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-15 08:45:13

Ponieważ pracuję tylko nad projektami Java, a wszystkie z nich są "Mavenizowane", używam Konwencji zdefiniowanych przez Mavena dla struktury projektu.

W zasadzie:

project
  src/main/java        --> source files
  src/main/resources   --> resources files (*.xml, *.properties, etc.)
  src/test/java        --> source files for tests.
  src/test/resources   --> resources files for tests.
 5
Author: romaintaz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-15 08:43:12

Na przykład, używam następujących dla moich projektów. Net style;

/build/reports  - reports and logs from the build process
/build/artifacts  - all output of the build process is copied here
/src/  - all solution source code
/lib/  - 3rd party or other build dependencies
/tools/...  - all other helper tools used in the build process
/tools/nant  - example tool
/tools/nunit  - example tool
/myProject.sln  - visual studio solution file (or other IDE)
/default.build  - nant build file
 4
Author: Xian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-15 10:15:44

Ta organizacja folderów reprezentuje ewolucję koncepcji xLim .

Możesz to sprawdzić w tym projekcie open source .
Build           - ignored from version control
  Artifact      - build artifacts (grabbed by CC.NET from here)
  Package       - generated zip or install packages
  Test          - all assemblies for unit tests
  Help          - autogenerated documentation
Resource
  Build         - plugins and extensions for NAnt/MSBuild
  Library       - 3rd party dependencies
  Tool
    FxCop
    ILMerge          
    NCover
    NCoverExplorer
    NUnit
    SHFB
    Wix
Samples
  SampleProject1
  SampleProject2  
Source
  Project1
  Project2

  GlobalAssemblyInfo.cs
  VersionAssemblyInfo.cs   - integration server updates this one

Test
  Project1.Tests
  Project2.Tests        

Solution.build        - primary build file
Solution.ccnet        - CruiseControl adapter for the build file
Solution.sln          - Visual Studio

go.cmd                - shortcut for launching the build file locally
readme.txt            - licenses and overview
SharedKey.snk         - for strong naming
 3
Author: Rinat Abdullin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-15 10:49:05

Podoba mi się sposób, w jaki NetBeans IDE organizuje projekty. Po prostu uruchom nowy projekt, a on skonfiguruje domyślne drzewo programistyczne i skrypt ant.

 0
Author: user22940,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-15 10:27:14

Dla mnie to zależy od wielkości projektu. W przypadku małych projektów uważam, że katalog projektu z pojedynczym plikiem Makefile, /src I / include działa dobrze.

 0
Author: jdmartin86,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-13 15:44:26

Dla projektów. NET sprawdź ProjectScaffold i dyskusję pod tym gist .

 0
Author: Rafał Kłys,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-05 09:52:17