c++ - 我是否组织过度或组织不足 C++ 代码?

标签 c++ code-organization

所以我正在制作我的第一个严肃的项目。

命名空间结构:

  • 鸡蛋
    • 数学
    • 物理
    • ...
    • 模拟

标题:

#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/

相关文章:

c++ - 如何在 QT GUI 应用程序中进行正确的线程处理?

c++ - 将 Depthbuffer 和 TextureBuffer 发送到同一个 Fragment OpenGL3

java - .NET中如何组织类似于#region/#endregion的代码?

java - 我如何在java中组织这个多边形列表以便它们易于使用?

c# - 处理实时数据

python - 避免在循环后重复代码?

c++ - 线程构建 block 流程图——创建一个 "counting"节点

c++ - 全屏模式下未触发 KeyRelease 事件

c++ - 在虚拟机上使用 OpenCV 重建 C++ 程序

c# - 如何组织大型代码文件?