我们应该如何使用原型+'真实'实现应用程序来构建源代码管理中的项目?
我们在一个新项目的原型上工作并将其存储在源代码控制中(Subversion,但问题应该独立于此),并在我们的主存储库中使用以下结构包含所有项目:
[ProjectName]/ trunk/ src/ UIPrototype/ branches/ tags/
我们与实习生一起致力于域逻辑的设计,并计划在下周开始实施域逻辑。
我们考虑过以下几种可能性:
一个完全独立的存储库(实习生有几周的源代码控制/ Subversion经验)
我们主存储库中的单独项目
原型现有项目下的分支(例如branches/prototype
),然后使用trunk
进行“实际”实施
对于这种情况,您会推荐哪种结构?
答案 0 :(得分:3)
作为一个拥有多个程序的大型软件部门的SCM经理花了几年时间,我的建议是做一个分支,原因如下:
如果原型不起作用,你可以让分支在那时死亡。
如果原型有效,那么您可以将其合并回主干进行初步开发
如果主要项目的工作需要开始,您可以继续处理原型
Subversion非常适合处理所有这些场景。您也可以使用标签来帮助控制代码。这些应该是描述性的,因此任何追随你的人都可以轻松确定代码的用途。
答案 1 :(得分:1)
我们所做的是拥有一个名为prototypes的独立存储库,我们将所有测试/播放/实验/原型项目放在其中。如果有什么值得,我们将它移动到自己的存储库。
答案 2 :(得分:1)
我们有一个应用程序树,并且有一些标记为“inhouse”的目录,表示不打算装运的东西。原型和内部工具都可以通过这种方式开发。此外,当我们根据我们从原型中学习开始下一代“实时”项目时,原型代码总是方便参考。