3

これは、私が最近書いたコードに似たものの例で、仕事で少し論争の的になっていることが証明されています:

namespace Shape
{
    class Renderer
    {
    public:
        virtual void Draw () = 0;
    };
};

namespace Square
{
    class Renderer : public Shape::Renderer
    {
        virtual void Draw ();
    };
};

namespace Circle
{
    class Renderer : public Shape::Renderer
    {
        virtual void Draw ();
    };
};

重要な点は次のとおりです。1) 継承階層内では、ほとんどのクラスが同じ名前を持ちますが、異なる名前空間に属します 2) 「Renderer」は、これらの同じ名前空間内のいくつかの継承階層の 1 つにすぎません

私の質問は次のとおりです。これは名前空間の合理的な使用でしょうか、それとも名前空間の悪用ですか? 他の誰かがこの方法で名前空間を使用していますか?

すでにいくつかのコメントを受け取っていますが、実際のコーディングでは、名前空間は実際には異なるデータベース テクノロジであり、1 つは ADO であり、もう 1 つは SQLite であることを指摘すると、議論の助けになるようです。したがって、私にとって名前空間は本当に便利なグループです。

4

2 に答える 2

4

なぜこのようにコードを書きたいのかについて、本当に強力な正当化が必要なほど十分に異なっています。あなたの同僚は、「それは本当に奇妙だが、X のおかげで本当に賢い」ではなく、「それは本当に奇妙だ」というコードを見ているだけです。それは虐待ではなく、型にはまらないだけです。しかし、十分に説得力のある X ファクターがなければ、型にはまらないことは悪いことです。

于 2013-04-29T14:34:21.187 に答える