所以我正在制作我的第一个严肃的项目。
命名空间结构:
- 鸡蛋
- 数学
- 物理
- ...
- 模拟
标题:
#ifndef EGG_PHYSICS_WORLD_HPP
#define EGG_PHYSICS_WORLD_HPP
namespace Egg {
namespace Physics {
class Body
{
public:
Body();
const Math::Vector2& GetPosition() const;
/* ... */
};
} // namespace Physics
} // namespace Body
#endif // EGG_PHYSICS_WORLD_HPP
问题:
- 总体而言,这是一个理智的组织吗?
- 创建嵌套命名空间是一个好的做法吗?
- 是否可以使用未完全指定的名称(例如
Math::Vector2
)而不是::Egg::Math::Vector2
在::Egg::Physics
命名空间? - 如果嵌套命名空间组织过度,是否可以使用单个命名空间但仍使用文件夹结构,例如。 Egg::World 位于“Egg/Physics/World.hpp”中?
最佳答案
是的,你组织过度了。如果是应用程序代码,通常我根本不会使用 namespace 。如果将代码移至可重用库,则将其包装到命名空间,但不要在此之前。使用没有命名空间的有意义的类名。
关于c++ - 我是否组织过度或组织不足 C++ 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15122493/