名前空間の名前をどのように思い付きますか?
-
04-07-2019 - |
質問
私は通常C#/。Netで作業していると言って、これを序文にします。
通常、組織を反映する名前空間に共通の再利用可能なコンポーネントを配置し、プロジェクトに関連付けられた名前空間にプロジェクト固有のコンポーネントを配置する命名スキームを使用します。私がこれを行う理由の1つは、自分の部門を組織の外部であるが組織内の他の人と共有することがあるためです。プロジェクト固有の名前空間には、通常、部門の名前または略語が先頭に付きます。プロジェクト間でコードを再利用する場合、通常は組織ベースの名前空間のいずれかにコードを移行します。
例:
UIOWA.DirectoryServices
には、Active Directoryの特定の実装を処理するクラスが含まれています。
UIOWA.Calendar
には、大学のマスターカレンダーを扱うクラスが含まれています。
LST.Inventory.Datalayer
は、Learning Spaces Technologyグループインベントリアプリケーションのデータレイヤーを実装するクラスを保持しています。
私は現在、大学外で販売される可能性があるUnviersity(慈善イベントを実行する学生グループ)とファジーなつながりを持つエンティティのプロジェクトに着手しています。 tは、私の通常の命名規則に本当に適合しています。つまり、部署は、プロジェクトを使用する可能性のある多くの潜在的に最初の顧客にすぎません。
組織の命名ルートに進み、「組織プロジェクト」を作成します。このアプリケーションの名前空間。他の人がこれをどのように処理しているか、またあなたからのアドバイスを聞きたいです。
ありがとう。
こちらも参照 名前空間の組織についての関連する質問 a>。
編集
org / project名前空間 UIOWA.MasterEvent
を作成し、そこからさらに名前空間を派生させました。将来のプロジェクトのために他の意見にも興味があります。
解決
私の部門では、過去5年間で名前を3回変更しました。だから、組織名で名前空間を使用することに反対した人がいることを喜んでいます...
私たちの名前空間はプロジェクト名ごとに整理されています。再利用可能なものは Toolbox
名前空間に配置されます。おそらく少し粗雑ですが、これまでのところ非常にうまく機能します。
他のヒント
私は.NET開発者であり、一意性を保証するため、常に組織プロジェクトの名前空間(com.bolidian.projectspace)を使用しています。
組織を使用し、次にAcme.Crmなどの製品を使用します。サブネームスペースでクラスをグループ化するときは、常に複数形またはアクションを使用して、クラスと衝突しないようにします。例
- Acme.Crm.Letters
- Acme.Crm.Invoicing
Microsoftの慣例に従い、頭字語を大文字にしないことで、たとえばCRMの代わりにCrm、SQLの代わりにSqlを使用しますが、それは個人的な好みです。