2

だから私は私の最初の本格的なプロジェクトを作っています。

名前空間の構造:

    • 算数
    • 物理
    • ..。
    • シミュレーション

ヘッダー:

#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」にありますか?
4

1 に答える 1

3

はい、あなたは過剰に組織化しています。アプリケーション コードの場合、通常は名前空間をまったく使用しません。コードを再利用可能なライブラリに移動する場合は、名前空間にラップしますが、前ではありません。名前空間がなくても意味のあるクラス名を使用してください。

于 2013-02-27T21:17:38.820 に答える