Me pregunto cuál es la forma más popular o mejor para organizar sus activos de compilación y el código fuente dentro de un proyecto?Estructura de carpetas populares para compilación
Respuesta
Personalmente utilizo
/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
Funciona bien para nosotros, pero no creo que es la mejor. Si se trata de .NET también se puede echar un vistazo a treesurgeon Lo describen a sí mismos como:
¿Alguna vez ha pasado unos días la creación de un nuevo árbol de desarrollo? ¿Alguna vez has pasado varios días armando varios árboles de desarrollo? ¿Has pasado semanas intentando perfeccionar todos tus árboles de desarrollo usando un conjunto de mejores prácticas?
Si la respuesta a cualquiera de las respuestas anteriores es 'sí', ¡entonces te gustará Tree Surgeon!
Tree Surgeon es un generador de árbol de desarrollo .NET. Simplemente déle el nombre de su proyecto, y configurará un árbol de desarrollo para usted en segundos. Más que eso, su nuevo árbol tiene años el valor de la experiencia acumulada de ingeniería acumulación construido en el derecho.
por ejemplo, uso lo siguiente para mis proyectos de estilo .Net;
/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
Como estoy trabajando sólo en proyectos de Java, y todos ellos son "Mavenized", yo uso el conventions defined by Maven for the project structure.
Básicamente:
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.
"archivos de recursos para pruebas". ¿como que? –
@YoushaAleayoub cualquier cosa que pueda necesitar para ejecutar sus pruebas que no sea directamente un código (como un archivo XML o JSON, utilizado en la prueba en sí, por ejemplo). – romaintaz
En general:
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)
me gusta la forma en que el IDE Netbeans organiza proyectos. Simplemente inicie un nuevo proyecto y configurará un árbol de desarrollo predeterminado y un script ant.
tengo
/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
con
/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)
Al final, usted tiene que ser un poco flexible en función del proyecto en sí, y si se utiliza ANT o Maven. Yo uso ANT, y pongo los scripts ANT en/build, pero han aparecido en otros proyectos (como en/websites/para algunos).
Esta organización de carpetas representa la evolución de xLim concepts.
Puede consultarlo en this open source project.
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
Para mí, depende del tamaño del proyecto. Para proyectos pequeños, encuentro que un directorio de proyecto con un único directorio Makefile,/src y/include funciona bien.
Para proyectos .NET, marque ProjectScaffold y analice en este gist.
- 1. Estructura de carpetas para un proyecto C
- 2. estructura de carpetas para un proyecto Node.js
- 3. ASP.NET MVC estructura de carpetas y NuGet
- 4. /var/www/estructura de carpetas para el proyecto PHP
- 5. Mejor estructura de carpetas para C++ biblioteca multiplataforma y enlaces
- 6. Una estructura de carpetas ideal para .NET MVC
- 7. Estructura de carpetas para muchos proyectos en un repositorio SVN?
- 8. ASP.net mvc 2 carpeta de carpetas estructura
- 9. Estructura de carpetas estáticas en Django 1.4?
- 10. Técnicas populares para depurar .htaccess
- 11. Estructura de árbol de tiempo de compilación
- 12. ¿Alternativas populares de Vim?
- 13. Estructura de datos utilizada para la estructura de directorios?
- 14. Comparación de la estructura de carpetas en dos entornos
- 15. copiar la estructura de la carpeta sin las carpetas .svn
- 16. Enumerar una estructura de carpetas en ASP clásico
- 17. 5 funciones hash populares ..?
- 18. Xcode archivos y carpetas limpian estructura y organización
- 19. ¿Cuál es la mejor práctica para organizar la estructura de carpetas de prueba de Ruby?
- 20. ¿Hay una buena manera de crear rápidamente diagramas para ilustrar la estructura de carpetas?
- 21. carpetas múltiple Fuente: Evitar la compilación implícita con Ant
- 22. Cómo incluir carpetas específicas en la compilación con visual studio
- 23. ¿Cómo puedo evitar esta estructura de carpetas profundas con MSDeploy al sistema de archivos utilizando MSBuild?
- 24. Patrones de herencia de JavaScript populares
- 25. Lista de los teléfonos Android más populares?
- 26. ¿Qué servidores web populares tienen soporte para HTML5 WebSocket?
- 27. Proyecto de compilación> Cómo consultar diferentes repositorios en diferentes carpetas
- 28. ¿Cómo consigo que Xcode replique la estructura del grupo de proyectos en la estructura de carpetas del disco?
- 29. PHP: fopen para crear carpetas
- 30. Bash: copia el nombre de archivos de forma recursiva, la preservación de la estructura de carpetas
¿qué pasa con las librerías "fuente" (bibliotecas de terceros que construyes tú mismo o las bibliotecas internas?) –
Haz exactamente lo mismo que arriba. Con respecto a una fuente de terceros, a menudo no son necesarios en el directorio del proyecto. Por lo general, guardo el origen de cualquier material de código abierto en un repositorio por separado en caso de que lo necesite algún día, pero use una versión versionada en la carpeta "lib" – Bealer