Linux C++项目源文件目录结构

Linux C++ Project Source File Directory Structure

本文关键字:文件目录 结构 项目 C++ Linux      更新时间:2023-10-16

我正在Linux上进行一个相当大的C++项目。我们正试图提出组织源文件目录结构的标准。

我们的一个想法是让目录结构反映我们的体系结构选择。例如,我们的域类有一个根级别,边界类有另一个根级,与域无关的基础设施类也有一个。

因此,在银行应用程序中,我们可能有一个名为src/domain/accounts、src/domain/customerTransactions、src/boundary/customerInputViews等的目录。然后,我们可能会有另一个名称为src/infra/collections、src/infra/threading等的目录

此外,在该结构中,我们将接口类与实现类隔离开来。我们会这样做,这样接口的客户端就不会依赖于实现类的目录结构。

有什么想法吗?

将代码分解为独立的部分听起来是个好主意。这将允许您潜在地将东西分解为单独的单元(对于自动工具:您可以为组织提供方便的库,稍后甚至将它们完全分离为共享库)。

当然,子模块应该包含构建所需的一切:头、源和构建基础设施(可能只缺少包含的顶级构建定义文件)。这将确保可以在小单元上完成工作(但要测试整个过程)。