我想知道在项目中组织构建资产和源代码的流行或最佳方式是什么?
答案 0 :(得分:18)
我有
/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
与
/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)
最后,根据项目本身,以及是否使用ANT或Maven,您必须具有一定的灵活性。我使用ANT,并将ANT脚本放在/ build中,但是它们已经出现在某些项目的其他地方(例如/ sites /中的某些项目)。
答案 1 :(得分:11)
一般来说:
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)
答案 2 :(得分:5)
由于我只处理Java项目,并且所有这些项目都是“Mavenized”,我使用conventions defined by Maven for the project structure。
基本上:
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.
答案 3 :(得分:4)
例如,我将以下内容用于我的.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
答案 4 :(得分:3)
此文件夹组织代表xLim concepts的演变。
您可以在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
答案 5 :(得分:1)
Personaly我用
/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
它适合我们,但我不认为这是最好的。 如果是.net ,您还可以查看treesurgeon他们将自己描述为:
你有没有花几天时间设置一个新的开发树?你有没有花几天时间设置几棵开发树?您是否花了数周时间尝试使用一组最佳实践来完善所有开发树?
如果上述任何答案的答案为“是”,那么你会喜欢树外科医生!
Tree Surgeon是一个.NET开发树生成器。只需将它命名为您的项目,它就会在几秒钟内为您设置开发树。更重要的是,您的新树具有多年积累的建筑工程经验。
答案 6 :(得分:0)
我喜欢Netbeans IDE组织项目的方式。只需启动一个新项目,它将设置一个默认的开发树和一个ant脚本。
答案 7 :(得分:0)
对我而言,这取决于项目规模。对于小项目,我发现具有单个Makefile,/ src和/ include目录的项目目录运行良好。
答案 8 :(得分:0)
对于.NET项目,请检查此ProjectScaffold下的gist和讨论。