私は CMS を構築していますが、クラスの命名規則は、関係する他の開発者と私の間で議論されています。この問題は、典型的なライブラリで利用可能なパブリック クラスであるため、特に "Page" で発生します。
自然な応答は、それを MVCMSPage (MVCMS は cms の名前) と呼ぶか、dll を介してクラスを参照することに依存することです (用語 atm.. は考えられません)。彼らに暗号の匂いのヒント。
何をアドバイスしますか?
ありがとう
私は CMS を構築していますが、クラスの命名規則は、関係する他の開発者と私の間で議論されています。この問題は、典型的なライブラリで利用可能なパブリック クラスであるため、特に "Page" で発生します。
自然な応答は、それを MVCMSPage (MVCMS は cms の名前) と呼ぶか、dll を介してクラスを参照することに依存することです (用語 atm.. は考えられません)。彼らに暗号の匂いのヒント。
何をアドバイスしますか?
ありがとう
「 」以外のものを使用しPage
ます。Page
.NET に組み込まれている' ' クラスは、一般に ASP.NET の一部として知られている非常に汎用的なクラスです。他の開発者を簡単に混乱させる可能性があります (または、しばらく見ていなければ、数か月先の自分自身でさえも) 混乱する可能性があります。
私は通常、次のような命名規則を使用します。
ApplicationName + "Page"
また、2 文字を超える頭字語の最初の文字のみを大文字にするという MS .NET 命名ガイドラインに従うのも好きです。「MVCMS
」は、読み方を誤ると「MVC」アーキテクチャ スタイルと混同される可能性があるため、「MvcmsPage
」または「MVCmsPage
」は使用せず、次のように呼びます。
MvCmsPage
これは説明的で、かなり読みやすく、理解しやすいものです。
もちろん、それはあなた次第です。主に好みの問題です。Page
一部の開発者 (私など) を怒らせるので、' ' は使用しないでください。
あなたが探していた用語は だと思いますnamespace
。
System.Web 空間のこのような基本的なクラスについて、名前空間の差別化に頼るとは思いません。コンソールベースの通知メカニズムを作成している場合は問題ないかもしれませんが、Web アリーナで作業しているので、私はそれを避けます。私の投票は、名前空間を主な差別化要因として使用し、それに単純な名前を付けることです。たとえば、クラスの完全な名前のContentPage
ようになります。MvcCms.Web.ContentPage
このようにすると、名前空間とクラスの両方をインポートSystem.Web
でき、さらにクラスを区別することができ、意味があり、使用または参照するのが面倒ではない短い名前があります(それについて話すとき)。
同様の問題が発生し、CMSPageを使用しました。MVCMSPageよりも少し面倒ではありませんが、それでも明らかにCMSであり、必要に応じて、将来的に複数のシステムにそのクラスをさらに拡張できます。
あなたは CMS を開発しているので、ルートにあるオブジェクトはコンテンツです。したがって、MvCmsContent、CmsContent、または単に Content のいずれかが問題ないように思えます。ネーミングは常にプロジェクトの最も難しい部分ではありませんか?
あなたが言及している「ページ」は、アプリケーションのデータベース レコードに相当すると考えています。他の人が言っているように、それはかなり負荷の高い用語です。ここにいくつかのランダムなアイデアがあります:
オブジェクト タイプの本質を伝えるように選択する必要があります。製品名をクラス名に入れることは避けたいと思います。私はそのために名前空間を好みます。