C# 名前空間の命名方針
作成: 2024/04/29 | 更新: 2024/05/16
C# プロジェクトにおける名前空間の命名方針について記載します。
注意事項
この記事は、個人的な技術利用方針であり、推奨事項やベストプラクティスの主張ではございません。
個人的なアプローチ例の紹介であり、すべてのプロジェクトや環境に最適とは限りませんが、参考にしていただけると幸いです。
1. 基本的な考え方
基本的に、Microsoft の C# における名前空間の命名方針に従います。
参考: Microsoft - 名前付けのガイドライン - 名前空間の名前
上記に従い、C# の名前空間は、以下のように命名します。
Ateliers.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]
2. 名前空間の命名方針の概要
Ateliersは、プロジェクトの全てにおいて、名前空間のルートとします。- 英単語を組み合わせて構成します。テクノロジー名やサービス名、国際的に通用する明瞭な英語を使用します。
- パスカルケースを使用し、必ず先頭は大文字で始めます。途中に大文字を含めるのも可能とします。
- 数字は使用可能です。(システム的に先頭には使用できません)
- 適切に略語を使用します。略語の意味を明確にし、一般的ではない略語とプロジェクト固有の略語は、極力避けます。
- ハイフン("-") やアンダースコア("_") および特殊文字は使用しません。
その他の方針については、Microsoft のガイドラインに従うため、省略します。
(Log や Text などの競合しやすい名前は使わない、など)
次に、これらの命名方針の理由を具体化します。
2.1. 命名方針:推奨事項の具体的理由
Ateliersは、プロジェクトの全てにおいて、名前空間のルートとします。
ateliers.dev が保有ドメインであるため Ateliers を名前空間のルートとすることで、他のプロジェクトとの競合を避けます。
- 英単語を組み合わせて構成します。テクノロジー名やサービス名、国際的に通用する明瞭な英語を使用します。
英単語を組み合わせることで、名前空間の理解を容易にします。
- パスカルケースを使用し、必ず先頭は大文字で始めます。途中に大文字を含めるのも可能とします。
C# の標準的な命名規則です。パスカルケースを使用します。
- 数字は使用可能です。(システム的に先頭には使用できません)
特別な特記事項となる項目はありませんが、C# では先頭に数字を使用することはできません。
2.2. 命名方針:注意事項の具体的理由
- 適切に略語を使用します。略語の意味を明確にし、一般的ではない略語とプロジェクト固有の略語は、極力避けます。
略語を適切に使うことで、冗長な名前空間を避けます。
これにより、名前空間の素早い理解ができるようにすることが目的です。
しかし、略語は一般的では無かったりプロジェクト固有のものを使うと、理解が難しくなる可能性があるため、極力避けるようにします。
(極力であり、使ってはならない、というわけではありません)
例えば、ユーザー管理機能 (User Management) を UM と略すと、他の開発者が理解するのに時間がかかる可能性があります。
このような場合は、略語を使わずに UserManagement とすることで、他の開発者が理解しやすくなります。
2.3. 命名方針:禁止事項の具体的理由
- ハイフン("-") やアンダースコア("_") および特殊文字は使用しません。
ハイフン("-") およびアンダースコア("_") は、どちらも仕様上は利用が可能ですが
C# の名前空間においての利用はあまり一般的ではないため、使用しないようにします。
特殊文字は異常に繋がる可能性があるため、使用しないようにします。
3. リポジトリへの名前空間適用
リポジトリ作成の際は、名前空間を使用してリポジトリを作成します。
例えばソリューション Ateliers.Functions.GPTAPI からリポジトリを作成する場合
リポジトリ名は ateliers-functions-gptapi となります。
より詳しいリポジトリの命名方針については、GitHub リポジトリ命名方針 を参照してください。