常见的大型软件项目开发文件目录结构(转)

常见的大型软件项目开发文件目录结构

1. Java 项目

调试阶段编译后的 .class 文件放到 classes 目录。将 classes 目录和 lib 中的其他工具 .jar 放到 classpath 中。运行当前目录是项目根目录。

正式发行版的 .class 放到一个或者多个 .jar 文件中,一般放在目根目录,也要加到 classpath 中去。

由于在 Java 项目中,经常用多种编译器进行编译,比较普遍的是,开发是使用开发工具编译,打包时使用 Javac 编译, project 文件被放到次要的位置。

2. Visual Basic 项目

Visual Basic 项目编译后的 COM DLL 和 Exe 一般放在项目根目录下面。由于 Visual Basic 中做 COM DLL 很容易,因而大量使用子项目编译 COM DLL,通过主 Exe 启动后加载。

以上的目录设置存在一种问题: 调试的时候,当前目录在子项目目录下面,比如为 module1_submodule2,而发行版本的当前目录在项目根目录下面,因此需要在程序启动的时候判断处理。

3. Visual C++ 项目

调试阶段,所有 dll,lib 文件放到 build 和 lib 目录下面。对于子项目, build 的时候直接把 dll , exe 放到 build 目录下面。

同 Visual Basic 项目一样,存在调试阶段和正式版本的当前目录不一致的问题。不过, VC 的项目属性中可以设置 working directory ,所以这个问题也很容易解决。

对于大型项目,还存在一个问题,那就是整个项目编译时间很长,可能达到半个小时以上。让每个人每天上午从版本库里取最新代码,这是很正常的做法。但是没有必要让每个人每天上午都花半个小时以上时间。比较常见的做法是,在某一台服务器上面运行一个定时编译批处理程序,一般在半夜,编译后的文件放在共享目录中。这样程序员每天上班后只需要从版本库里取最新的源代码,然后复制编译后的文件,如 .class, .obj,.dll,.exe。

这里有另外一个要注意的地方,就是不同计算机的时间要同步。不能服务器时间是五月一日,我的计算机时间是六月一日。编译器可以做到增量编译,节省时间。增量编译比较源代码的时间和编译后的文件时间。由于编译后的文件是从服务器中复制得到,不同计算机时间不能相差太多。

自动编译后的文件如 .class, .obj,.dll,.exe 一般并不放入版本库,而只是共享。因为如果放入版本库,从客户端下载后的文件属性是只读的,有很多不方便。

当然,如果只是小型项目,所有文件放在一个目录也没有多大关系,更省事。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IBM、微软、华为等……均采用的软件配置库。目录摘要如下: 配置库结构 ..........\1 配置项 CI ..........\...........\1.01 客户文档 Customer ..........\...........\1.02 项目计划 Plan ..........\...........\.............\1.2.1 软件估计Estimation ..........\...........\.............\1.2.2 软件开发计划PPL ..........\...........\.............\1.2.3 配置管理计划CMP ..........\...........\1.03 需求分析SRS ..........\...........\................\infoX-MDSP PortalDemo SRS 软件需求规格说明书.doc .................................................. ..........\2 项目管理 PM ..........\.............\2.1 会议纪要 MOM ..........\.............\................\2.1.1 开工会 kick-off ..........\.............\................\2.1.2 周例会 weekly ..........\.............\................\2.1.3 阶段结束会议 EOP ..........\.............\................\2.1.4 关闭会议 closure ..........\.............\................\2.1.5 技术讨论会 Technical ..........\.............\................\2.1.6 其他会议 other ..........\.............\2.2 项目报告 Daily ..........\.............\..................\2.2.1 项目日报 Daily ..........\.............\..................\2.2.2 项目周报 weekly .................................................. ..........\.............\2.3 问题跟踪 Tracking ..........\.............\2.4 团队建设 Team Buliding ..........\.............\..........................\MTV-SMCP项目组月考核汇总表9月.xls ..........\.............\..........................\portaldemo项目沟通既要.xls ..........\.............\..........................\vssver.scc ..........\.............\2.5 公司制度 ..........\3 配置管理 CM .................................................. ..........\4 质量管理 QM ..........\.............\4.1 度量 Metrics .................................................. ..........\5 测试记录 Test Record .................................................. ..........\6 培训及总结 Training ..........\.....................\6.1 Plan阶段 .................................................. ..........\7 工具使用 Tools ..........\8 参考资料 Reference ..........\9 日志 Timesheet ..........\................\9.1 工时统计 Timesheet ..........\................\9.2 工作日志 Log ..........\................\9.3 技术问题跟踪Tracking ..........\................\........................\infoX-PortalDemo技术讨论问题跟踪表.xls
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值