web-dev-qa-db-ja.com

適切な名前空間名を選択するにはどうすればよいですか? (言語的に)

私の母国語ではない英語なので、名前空間に適切な名前を付けるのは少し難しいです。私の問題をもう少しよく見せる1つの例:

会社の編成方法に関連する一連のクラスがあります(それを使用して組織図を作成できます)。現在の名前空間はCFW.CoreSystem.Organizational。これはいい名前ですか?

言語的に名前空間に名前を付ける最良の方法は何ですか? (CFW.CoreSystem.Configuration よりも良い CFW.CoreSystem.Configurables)。

[ StackOverflowから移動しました]

5
Kees C. Bakker

名前空間に選択した名前は、名前空間のタイプによって使用可能になる機能を示している必要があります。たとえば、System.Net.Sockets名前空間には、開発者がソケットを使用してネットワーク経由で通信できるようにする型が含まれています。

名前空間名の一般的な形式は次のとおりです。

<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]

たとえば、Microsoft.WindowsMo​​bile.DirectXです。

Pascalケーシングを使用し、名前空間コンポーネントをピリオドで区切ります(たとえば、Microsoft.Office.PowerPoint)。ブランドが従来とは異なるケースを採用している場合は、通常の名前空間のケースから外れていても、ブランドで定義されているケースに従う必要があります。

必要に応じて、複数の名前空間名の使用を検討してください。たとえば、System.Collectionの代わりにSystem.Collectionsを使用します。ただし、ブランド名と頭字語はこの規則の例外です。たとえば、System.IOsの代わりにSystem.IOを使用します。

名前空間とその名前空間の型に同じ名前を使用しないでください。たとえば、名前空間名にDebugを使用しないでください。また、同じ名前空間にDebugという名前のクラスを提供してください。一部のコンパイラでは、そのような型を完全に修飾する必要があります。

MSDNには、名前空間の名前付け、アセンブリなどに関する多くのDoまたはDo'notの詳細があります。これを確認してください Namespaces

CFW.CoreSystem.Configuration 優れている。

名前空間CFW.CoreSystem.Organizationalは非常に優れていますが、CFW.CoreSystem.Organizationの方が優れています。

9
Niranjan Singh