C# における名前空間の付け方について質問です。
前置き
名前空間の命名規則については、マイクロソフト公式で以下のような説明があります。
入れ子になった名前空間は、外側の名前空間の型に依存します。たとえば、System.Web.UI.Design のクラスは、System.Web.UI のクラスに依存します。しかし、System.Web.UI のクラスが、System.Web.UI.Design のクラスに依存することはありません。
これはつまり、以下のような関係は NG ということだと認識しています。
cs
1namespace System.Web.UI.Design { 2 ... 3}
cs
1using System.Web.UI.Design; 2 3namespace System.Web.UI { 4 ... 5}
質問
本題です。
上記を前提としたとき、以下のような名前空間の命名はアリなのでしょうか。
1. 異なる名前空間に依存する場合
下記では、 Hoge.Piyo
と Hoge.Fuga
間に明示的な入れ子構造はありませんが、階層構造もありません。
この場合、実装方法としては問題ありませんでしょうか?
cs
1namespace Hoge.Piyo{ 2 ... 3}
cs
1using Hoge.Piyo 2 3namespace Hoge.Fuga{ 4 ... 5}
2. 異なる名前空間の間で依存関係がクロスする場合
下記でも、上記と同じように Hoge.Piyo
と Hoge.Fuga
間に明示的な入れ子構造はありませんが、階層構造もありません。
ただし、今回は上記と違って、 名前空間の依存がクロスしています。
さすがにこれはナシでしょうか?
cs
1using Hoge.Fuga 2 3namespace Hoge.Piyo{ 4 ... 5}
cs
1using Hoge.Piyo 2 3namespace Hoge.Fuga{ 4 ... 5}
以上、2点ほど宜しくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/19 05:25