【问题标题】:Creating a good directory structure创建一个好的目录结构
【发布时间】:2010-04-13 04:00:51
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    Visual Studio 有一种奇怪的方式来处理解决方案中的“文件夹”。 “解决方案文件夹”实际上不是物理文件夹,而更多的是由 Visual Studio 管理的虚拟文件夹。您的文件可能最终位于根目录中,但 VS 会将它们视为位于“文件夹”中。这是在 VS .sln 或项目文件中配置和管理的。

    我不喜欢它在 Visual Studio 中的工作方式,我不明白为什么他们不只是将文件放在物理文件夹中。是想和 VS 战斗并尝试将文件保存在物理文件夹中,还是让 VS 管理它,这取决于你,但最终,这真的没关系。

    【讨论】:

    • 请注意,这仅适用于解决方案级别的文件夹。如果您在解决方案资源管理器中创建一个文件夹,则在与磁盘上的实际文件夹相对应的项目中。
    【解决方案2】:

    一个典型的目录结构是这样的

    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)
    

    【讨论】:

      【解决方案3】:

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

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

      通常会有名为 headers 和 source 的 Visual Studio 目录,但您不会像这样在文件系统上布置项目。

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

      通常在文件系统上,我会为每个项目创建 1 个文件夹,并且很少在单个项目中创建子文件夹。但是在解决方案资源管理器中,我将创建将项目放入其中的顶级文件夹(例如:“服务器组件”和“客户端组件”),以及在项目文件夹中以逻辑方式将事物组合在一起(例如:配置、GUI、控制器,...),这样我就可以更快地找到我想要的东西。

      【讨论】:

      • 所以你是说这真的没有什么区别,而是我在我的文件系统或我的 .sln 文件中设置我的目录结构。
      • @numerical25:更新了更多信息
      猜你喜欢
      • 2012-01-16
      • 2012-09-20
      • 1970-01-01
      • 2010-09-29
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      相关资源
      最近更新 更多