1. ホーム
  2. c#

[解決済み] ソリューション内のフォルダはネームスペースと一致させるべきですか?

2022-05-02 05:46:02

質問

ソリューション内のフォルダは名前空間と一致させるべきですか?

私のチームのあるプロジェクトでは、プロジェクト内に多くのサブフォルダを持つクラスライブラリがあります。

プロジェクト名と名前空間 MyCompany.Project.Section .

このプロジェクト内には、名前空間セクションに一致するフォルダーがいくつか存在します。

  • フォルダ Vehicles には、クラスが MyCompany.Project.Section.Vehicles 名前空間
  • フォルダ Clothing には、クラスが MyCompany.Project.Section.Clothing 名前空間
  • などです。

この同じプロジェクトの中に、別の不正なフォルダがあります。

  • フォルダ BusinessObjects には、クラスが MyCompany.Project.Section 名前空間

このように、組織的な利便性のためにフォルダを作成するケースは少なくありません。

質問ですが、標準はどうなっているのでしょうか? クラス・ライブラリでは、フォルダは通常、ネームスペースの構造と一致するのでしょうか、それともまちまちなのでしょうか?

どのように解決するのですか?

また、組み込みのテンプレートを使用してクラスをフォルダに追加した場合、デフォルトでフォルダ階層を反映した名前空間に配置されることに注意してください。

クラスが見つけやすくなり、それだけで十分な理由になるはずです。

私たちが守るべきルールは

  • プロジェクト/アセンブリ名は、末尾の .dll を除き、ルート名前空間と同じにする。
  • 上記のルールの唯一の例外は、末尾が.Coreのプロジェクトで、.Coreは取り除かれます。
  • フォルダは名前空間と等しい
  • 1つのファイルにつき1つのタイプ(クラス、構造体、列挙型、デリゲートなど)なので、正しいファイルを簡単に見つけることができます。