C#の名前空間

c#

私はASP.NET MVCプロジェクトを使用しています、そして、私がフォルダーにクラスを追加するたびに、それは本当に長い名前空間を作ります。

Project = Tully.Saps.Data Folder = DataAccess / Interfaces名前空間= Tully.Saps.Data.DataAccess.Interfaces

フォルダ= DataAccess / MbNetRepositories名前空間= Tully.Saps.Data.DataAccess.MbNetRepositories

質問:名前空間をそのままにして、それにアクセスするクラスにusing句を追加するか、このプロジェクトのすべてのものの名前空間をTully.Saps.Dataに変更するのが最善ですか?

  3  1


ベストアンサー

それらを一人で残して使用を追加してください。 あなたはそのようなものを手動で変更するのに手間がかかるように頼んでいます(デバッグするのがより難しい、他のプロジェクトと矛盾する、など)。

1


それにどう対処したいかはあなた次第です。 名前空間のメンバーに1回または2回アクセスするだけの場合は、 “using”ステートメントを追加してもあまり効果はありません。

あなたがそれを複数回使用するつもりなら、名前空間チェーンを減らすことはおそらく物事を読みやすくするでしょう。

新しいネームスペースを作成せずにファイルを論理的にグループ化するだけの場合は、ネームスペースを常に変更して新しいフォルダ名を追加しないようにすることができます。

0


FXCopによると、私は同意する:

__
タイプの少ない名前空間を避ける

名前空間は一般的に* 5 *以上の型を持つべきです。
__

また(そしてこれは “単一の名前空間”提案にも当てはまります – これは_名前空間なしと言うのとほとんど同じです)

__
名前空間で型を宣言

型は重複を避けるために名前空間の中で定義されるべきです。
__

0


  • ネームスペース

Namespaces help us to define the “scope” of a set of entities in our

オブジェクトモデルまたは我々のアプリケーション。 これは、フォルダ構造の決定ではなくソフトウェア設計の決定になります。 たとえば、MVCアプリケーションでは、Model / View / Controllerフォルダとそれに関連する名前空間があると便利です。 そのため、場合によっては、フォルダー構造が開発で使用することを決定した名前空間パターンと一致することは可能ですが、それは必須ではなく、私たちが望むものではない可能性があります。 各名前空間はケースバイケースの決定であるべきです

  • 文を使用する

名前空間にusingステートメントを定義することは、その名前空間内のオブジェクトがコード内で参照される頻度に基づいた個別の決定であり、名前空間の作成方法には影響しません。

0


それを残します。 IDEがコーディングスタイルをどのように決定づけているかを示す良い例です。

0


使用しているツール(Visual Studio)が各フォルダに新しい名前空間が必要であると判断したからといって、そうではありません。 私は個人的に私の “Data”プロジェクトを単一の名前空間として残す傾向があります。 “Model”というサブフォルダーがある場合、それらのファイルをSomething.Data.Model名前空間に入れたくない場合は、Something.Dataに入れます。

0


タイトルとURLをコピーしました