2

使用命名空间和文件夹来组织代码是否过大?

例子:

Folder Structure:
Engine (Root)
--Audio
--Exceptions
--Game
--GFX
--Input
--Math
--Messages
--Physics
--Time
--[global headers]

所有类都包含在[root]::命名空间中,以防止与std::第三方代码发生冲突。Math 文件夹包含命名空间中包含的一些辅助(免费)函数的标题,[root]::Math::并且音频在命名空间中具有更多辅助(免费)函数[root]::AudioHandler::

我应该将每个文件夹中的类放入类似描述的命名空间中吗?(即 Physics 文件夹中的类也将在[root]::Physics::命名空间中。)

4

1 回答 1

2

命名空间组织逻辑接口,目录“物理”文件。

单个命名空间中的代码越多,它的相对稳定和协调性就越重要;如果标识符不稳定且不协调,您可能会在合并更改时看到冲突。根据您对此类冲突的经验或感受,您可以选择您的命名空间。

std::是一个非常稳定且协调良好的命名空间的明显示例,这意味着可以成功地将很多东西捆绑到其中。如果您正在处理一个单人项目 - 从库一直到应用程序 - 您更有可能处理更少的命名空间。

另一方面,如果您有多个独立工作的全球团队 - 不断更改/添加标识符 - 那么最好将代码分隔到命名空间中。此外,如果您经常遇到在一个系统中使用的明显且理想的标识符已经在另一个系统中使用 - 这也暗示了名称空间。

于 2013-04-23T05:32:13.330 回答