开发目录结构

开发目录结构

Development directory Structure

我想知道开发项目中通常使用什么目录结构。 我的意思是促进构建,部署发布等的想法。

我最近在Java项目中使用了Maven结构,但是我不确定这对于非Maven驱动的项目而言是最好的结构。

所以,我有两个问题:当你们开始新项目时,您使用什么结构? 并且:如果您需要将两种不同的语言集成在一起,例如将Java类集成到PHP应用程序中,该怎么办? PHP文件是源文件,Web文件,您使用的是/ src,/ classes,webapps / php吗? 在这种情况下您有什么选择。

注意:我也想知道您为目录名称选择了什么。 我喜欢3个字母的名称(src,lib,bin,web,img,css,xml,cfg),但是您对诸如libraris,来源或htdocs / public_html之类的描述性名称有何看法?


在使用不同的结构工作了几年之后,我最近发现了一种对我来说变化最大的结构:

1
2
3
4
5
6
7
8
9
10
11
12
13
/project_name     (everything goes here)
  /web            (htdocs)
    /img
    /css
  /app            (usually some framework or sensitive code)
  /lib            (externa libs)
    /vendor_1
    /vendor_2
  /tmp
    /cache
  /sql            (sql scripts usually with maybe diagrams)
  /scripts
  /doc            (usually an empty directory)

尽管我们不使用Maven,但是我们使用Maven目录结构。

我们发现它准确反映了我们需要的概念(例如,将部署代码与测试代码分离,将数据与数据分离,将安装程序与代码分离)。 我们还认为,如果有一天我们切换到Maven,我们的大多数过程将保持不变。


2011年更新:
http://java.sun.com/blueprints/code/projectconventions.html


我刚刚在Zend网站上找到了有关目录结构的有趣文档:
http://framework.zend.com/wiki/display/ZFDEV/Choosing+Your+Application%27s+Directory+Layout


推荐阅读

    linux目录结构树命令?

    linux目录结构树命令?,系统,工作,信息,数据,设备,管理,目录,发展,时间,结构,L

    linux命令是什么语言?

    linux命令是什么语言?,系统,环境,代码,传播,管理,语言,操作系统,源码,自由,

    linux命令创建项目组?

    linux命令创建项目组?,管理,密码,项目,命令,系统,位置,文件,用户组,用户,文

    linux改语言命令行?

    linux改语言命令行?,系统,环境,工具,密码,概念,地方,软件,通信,管理,国际,lin

    复制项目的linux命令?

    复制项目的linux命令?,系统,项目,文件,命令,目录,源文件,语法,选项,目标,功

    linux命令行c语言?

    linux命令行c语言?,代码,系统,工具,环境,工作,保险,发行,命令,文件,终端,linu

    c语言在linux命令?

    c语言在linux命令?,系统,工作,管理,命令,保险,基础,环境,信息,文件,语言,linu

    linux查询表结构命令?

    linux查询表结构命令?,系统,标准,信息,数据,地址,设备,时间,适当,软件,命令,l

    linux命令项目部署?

    linux命令项目部署?,项目,服务,环境,软件,系统,代理,管理,统一,做好,业务,怎

    linux编写c语言命令?

    linux编写c语言命令?,系统,基础,环境,代码,盘面,保险,百度,情况,数据,工具,在

    linux部署项目的命令?

    linux部署项目的命令?,项目,系统,设备,环境,工作,基础,传播,信息,标准,代码,L

    linux项目常用命令?

    linux项目常用命令?,工作,地址,系统,信息,管理,项目,命令,目录,标准,网络,lin

    linux项目更新命令?

    linux项目更新命令?,系统,信息,网络,地址,网站,通信,管理,时间,项目,命令,lin

    启动项目命令linux?

    启动项目命令linux?,工作,经理,产品,技术,地址,数字,系统,项目,命令,信息,怎

    linux编译项目的命令?

    linux编译项目的命令?,系统,工作,地址,软件,工具,信息,代码,项目,命令,环境,l

    项目linux常用命令?

    项目linux常用命令?,工作,地址,系统,管理,设备,信息,项目,命令,目录,标准,lin

    linux改变语言命令?

    linux改变语言命令?,系统,管理,网上,官方网站,情况,服务,中文,语言,命令,终

    c语言编译linux命令?

    c语言编译linux命令?,代码,工具,环境,系统,基础,保险,百度,语言,源程序,文件

    linux命令和应用程序?

    linux命令和应用程序?,软件,系统,环境,管理,基础,情况,位置,电脑,工具,中心,

    linux上部署项目命令?

    linux上部署项目命令?,项目,软件,服务,工具,环境,代理,地址,代码,首页,做好,l