创建一个好的目录结构

时间:2010-04-13 04:00:51

标签: c++ c visual-studio visual-studio-2008

这可能是一个愚蠢的问题,但我还在学习。我已经阅读了几本关于创建应用程序和创建良好目录结构的书籍。当人们谈论创建目录结构时,它们是指您在解决方案资源管理器中创建的文件夹(您实际在.sln文件中找到的文件夹),还是指设置和创建与您的文件夹位于同一文件夹中的文件夹。 sln文件或您编译的应用程序(.exe)。我认为解决方案资源管理器文件夹与典型的Windows文件夹不同,因为我在.sln文件中创建的文件夹无法在我的Windows系统上找到。

3 个答案:

答案 0 :(得分:4)

Visual Studio在解决方案中处理“文件夹”有一种奇怪的方式。 “解决方案文件夹”实际上不是一个物理文件夹,而是一个由Visual Studio管理的虚拟文件夹。您的文件可能会以root directoy结尾,但VS会将它们视为“文件夹”。这是在VS .sln或项目文件中配置和管理的。

我不喜欢它在Visual Studio中如何工作,我不明白他们为什么不把文件放在物理文件夹中。这取决于你是否想要对抗VS并尝试将文件保存在物理文件夹中,或者如果你想让VS管理它,但最终,它确实没关系。

答案 1 :(得分:3)

使用Visual Studio中的C ++,您的解决方案目录不需要与文件系统匹配,但它们可以。

通常人们将目录结构称为项目的文件系统布局。

通常有一个名为headers和source的visual studio目录,你不会在你的文件系统上这样放置你的项目。

Visual Studio目录不仅仅是虚拟文件夹,它们可以包含过滤规则,因此当您向项目添加文件时,它将自动添加到正确的过滤文件夹中。他们还可以指定文件夹是否应受版本控制。是否应该解析它们是否自动完成。

通常在文件系统上,我将为每个项目创建1个文件夹,很少在单个项目中创建子文件夹。但是在解决方案资源管理器中,我将创建顶级文件夹,我将项目放入(例如:“服务器组件”和“客户端组件”),以及在项目文件夹中将逻辑组合在一起(例如:Config,GUI,控制器,...)所以我可以更快地找到我正在寻找的东西。

答案 2 :(得分:3)

典型的目录结构就像

bin (binaries)
Src
  ->.sln
  ->common
      ->.prj
  ->Project1
      ->.prj
  ->Project2
      ->.prj
Lib (3rd party lib's)
Doc (documentation)
Tools (3rd party tools)
Setup (setup projects)
Test (test cases)