我们应该如何在源代码控制中构建一个具有原型+应用程序“真实”实现的项目?

我们为一个新项目开发一个原型,并将其存储在源代码管理中(Subversion,但问题应该与此无关),在我们所有项目的主存储库中具有以下结构:

[ProjectName]/
  trunk/
    src/
      UIPrototype/
  branches/
  tags/

我们与实习生一起进行领域逻辑的设计,并计划在下周开始实施领域逻辑。

我们考虑过以下几种可能性:

  • 一个完全独立的存储库(实习生有几周的源代码控制/Subversion 经验)

  • 我们的主存储库中的一个单独的项目

  • 一个分支(例如 branches/prototype)在现有项目下进行原型然后使用 trunk 为了“真正”的实施

对于这种情况,您会推荐什么结构?

有帮助吗?

解决方案

我在一个拥有多个程序的大型软件部门担任了数年的 SCM 经理,我的建议是建立一个分支,原因如下:

  1. 如果原型不起作用,您可以让分支在此时死亡。

  2. 如果原型有效,那么您可以将其合并回主干以进行初步开发

  3. 如果需要开始主要项目的工作,您可以继续处理原型

Subversion 非常适合处理所有这些场景。您还可以使用标签来帮助控制您的代码。这些应该尽可能具有描述性,以便您之后的任何人都可以轻松确定代码的用途。

其他提示

我们所做的是拥有一个名为原型的单独存储库,其中放置所有测试/播放/实验/原型项目。如果某些东西值得,我们会将其移至自己的存储库。

我们有一个应用程序树,并且有一些标有“内部”的目录,这些目录表明不打算发货的东西。原型和内部工具都可以通过这种方式开发。此外,当我们根据原型的学习开始下一代“实时”项目时,原型代码始终可供参考。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top