最佳VSTF源结构是什么?有没有最佳做法?
时间:2020-03-06 14:24:12 来源:igfitidea点击:
还有许多与此主题相关的其他问题:
- 什么是php应用程序的良好标准代码布局(已删除)
- 换句话说,如何构造Java应用程序:我应该将类放在哪里?
- 推荐的源代码管理目录结构?
- 版本控制中的项目结构
我找不到特定于VSTF的任何东西,它具有一些功能,例如团队建设,集成的单元测试等。我想知道这些功能是否导致对源布局的建议稍有不同。
请发布我们幸运的高级目录结构示例,并说明我们为什么喜欢它们。我将让人们对"最佳"方法进行投票,并在几天之内给予答案。
解决方案
这是我喜欢的一个:
- 常见的; Visual Studio SLN包含所有其他解决方案中共有的所有项目。
- 工具; Visual Studio SLN包含其输出是工具的所有项目。示例可能是在较大系统上执行一组管理任务的控制台应用程序
- UI;解决方案文件夹,其中包含定义用户体验的Visual Studio项目
- DataLayer;解决方案文件夹,其中包含定义数据访问层的Visual Studio项目
- 服务;解决方案文件夹,其中包含定义Web服务的Visual Studio项目
- 工具;解决方案文件夹,其中包含Visual Studio项目,这些项目定义了特定于此交付物的工具(可执行实用程序)
- 测试;解决方案文件夹,其中包含包含单元测试的Visual Studio项目
- 建造; Visual Studio SLN包含与项目的生成相关的代码,在我们的案例中,大多数是自定义MSBuild任务和Powershell脚本
注意:所有解决方案都将有一个Tests文件夹和单元测试项目。
一些想法:
- 树根中的文件很少。在大型团队中,设置权限,以便没有任何类型的授权,任何人都无法将新文件添加到树的根目录中。
默认工作空间将包含:
- 工具包含构建和运行单元测试所需的所有可执行代码,包括自定义工具和脚本(可能假设计算机上已经安装了Visual Studio和PowerShell)。
- 源-所有源代码,包括项目文件。
- 文档-那些项目不用作构建的一部分,但对于开发工作的正常运行是必需的。
- 二进制-已交付给客户的位,包括.PDB和其他维修所需的工件。 (在小型项目中,我会为每个发行版提供源代码,但是通常使用标签/标签是更好的选择。)
在其他地方(例如$ / personal)有一个供每个人随意处理的地方($ / personal / USERNAME)。例如,我的辅助项目在这里。