2012-01-29 390 views
0

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

我们有一个想法是让目录结构反映我们的架构选择。例如,我们的域类有一个根级别,另一个用于边界类,另一个用于我们的域不可知的基础结构类。因此在银行应用程序中,我们可能有一个名为src/domain/accounts,src/domain/customerTransactions,src/boundary/customerInputViews等的目录。我们可能会有另一个名为src/infra/collections的目录,src/infra/threading等。

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

有什么想法?

+0

我会看看C++中的其他大型项目在做什么。 Qt是一个明显的例子。 – 2012-01-29 20:29:00

回答

0

将代码分解为独立部分听起来像是个好主意。这样可以让你把东西分解成单独的单元(对于自动工具:你可以为组织提供方便的库,以后甚至将它们分离成共享库)。

当然,子模块应该包含构建所需的所有东西:头文件,源文件和构建基础结构(可能只是缺少包含顶层构建定义文件)。这将确保工作可以在小单位上完成(但是测试整个事情)。