0

我有一个文件夹,里面有我所有的项目,用不同的语言。然后我得到了我最终可能在我的代码中使用的库(主要是 jar 文件)。我确定有一种公认的做法,对吧?专业人士是做什么的?

4

5 回答 5

2

这实际上取决于您使用什么工具,以及您喜欢如何组织它。

例如,我见过有人使用 Eclipse,但将每个项目放在一个工作区中,或者为每个项目使用一个工作区。项目的实际存储也可能有所不同。所以,我认为没有公认的做法。

我认为你需要弄清楚什么最适合你。

于 2009-09-20T15:21:56.050 回答
1

我有一个名为 Work 的文件夹。在这个文件夹下,我有项目。

项目包含我开发的所有软件,每个一个目录,有一个常规名称。每个目录都是一个完整的集市存储库,包含标签、主干和分支(我的旧 svn 风格的遗产,可能我很快就会改变)。

我还为项目开发特定的运行时。每个运行时都通过一个生成文件下载和安装,该文件下载和编译所需的一切(在最坏的情况下,某些库需要特定版本的库、解释器和编译器)。

由于我的工作主要涉及小代码,因此我在 Project 中还有一个 Archived 和 Outdated 子文件夹,我将不再使用的东西(第一个)或已被更好的程序(Outdated)取代的东西放在那里。我从不丢弃旧代码,因为它明天可能会有用。

为了部署和使用,我有一个 python 脚本,它进入每个项目子目录并下载依赖项,编译所有内容,并将其打包为 nutz 文件(一种用于 Chestnut 包管理器实用程序的 jar 文件,也是我的产品)。

然而,在大多数情况下,专业人士使用的 IDE 可以为他们做所有事情。我不喜欢这种方法,因为经常使用和学习 IDE 比我做的事情要花费更多的时间。IDE 的实现理念是您有业务客户和一个潜在的大型软件项目,其中涉及一个团队。目前我已经超出了这个规模,对我来说,使用复杂的 IDE 就像在海上度过了一个愉快的周末。完全超出了我目前的需求。

于 2009-09-20T15:26:29.820 回答
1

对我来说,它是项目根目录下的以下目录列表:

  1. .java 文件的 src,使用包层次结构
  2. 第三方 JAR 的 lib,除非我从存储库(例如 Spring 发行版)中获取它们
  3. 测试 JUnit 或 TestNG 测试文件
  4. .properties、.xml 等的资源或配置。
  5. web 如果它是一个 web 应用程序,它包含 WEB-INF 和它的所有服务对象
  6. 如果我有任何文档,请提供文档

我喜欢 Spring 人员已经进化的结构。

我使用 IntelliJ,所以我想要任何结构都可以很好地使用它。

我有一个目录 /work 来保存我所有的 Subversion 工作副本。

于 2009-09-20T15:46:18.887 回答
0

这在很大程度上取决于您使用的编程语言。我正在用 java 编程,我见过的最好的结构是由maven给出的。

由于 maven 强大的依赖管理,您不需要处理几十个 jar 文件。您可以使用现有的插件来完成几乎所有您能想象到的目标。您可以将项目构建为小型子项目,以实现最佳重用。

于 2009-09-20T15:33:11.537 回答
0

我在版本控制存储库中拥有所有内容(nb:一组非常令人放心的文件,并且已经测试过备份)。在我的开发机器上,我有一个 Projects 文件夹用于检出当前/最近的工作,还有一个 Projects/Archives 文件夹用于我目前未处理的旧检出。当我需要一个项目的第三方库时,它们会进入每个项目内的 third_party 文件夹。这些被跟踪一个 git 子模块,它为我提供了已知可与该项目一起使用的确切软件版本,但也可以在不同的项目中轻松更新,如果某些库不能完全满足我的需要,则进行黑客攻击等等。这个想法是每个项目都应该是独立的,并且在机器之间可移植,只要在可靠性等方面是合理的。

于 2009-09-20T17:38:37.417 回答