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

时间:2012-01-29 19:40:41

标签: c++ linux directory-structure

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

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

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

将代码分解成独立的部分听起来是个好主意。这将允许您将内容分解为单独的单元(对于autotools:您可以为组织提供便利库,以后甚至将它们完全分离到共享库中)。

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