126

基本クラスに名前を付けるための推奨される方法は何ですか? タイプ名の前に「Base」または「Abstract」を付けていますか、それとも単に「 Base 」を付けますか?

次の点を考慮してください。

タイプ:ViewModelMainViewModelReportViewModel

基本クラス:BaseViewModelまたはViewModelBaseまたはAbstractViewModel

次の点も考慮してください。

タイプ:Product例: VirtualProductExpiringProduct

基本クラス:BaseProductまたはProductBaseまたはAbstractProduct

どちらがより標準的だと思いますか?

class Entity : EntityBase
{
}

また

class Entity : BaseEntity
{
}
4

8 に答える 8

96

フレームワークには、Base 接尾辞が付いた例があります (例System.Configuration.Provider.ProviderBase: System.Web.SessionState.SessionStateStoreProviderBase.

しかし、フレームワークのすべての抽象基本クラスがこの規則に従うわけではありません (例: System.Data.Common.DbParameter) System.Data.Common.DbCommand

個人的には、それが抽象クラスであるという事実を強調したい場合や、クラスのユーザーが具体的な実装を示す名前を期待する可能性があると感じた場合を除き、接尾辞の使用は避けます。

于 2009-05-05T20:48:50.530 に答える
6

仮想基本クラスについて話している場合、Microsoft の標準は ClassnameBase (CollectionBase など) です。

于 2009-05-05T20:57:27.590 に答える
3

それは選択の問題だと思います。多くの基本クラスを作成している場合は、常に BaseClassname を使用することをお勧めします。これにより、Base と入力して残りのヘルプを取得するだけで、使用を開始できる基本クラスを常に見つけることができるからです。インテリセンス。20 個の基本クラスがあり、接尾辞として Base を追加し、基本クラスの名前を忘れた場合はどうなるでしょうか? 最初に VS からクラス ダイアグラムを作成し、利用可能な基本クラスを調べますか? クラスが 1 つまたは 2 つだけの場合は、ClassBase という名前を付けても問題ありません。

GetItems 関数と ItemsGet 関数の決定についても同様です。少なくとも読みやすさのために言いたいのですが、GetItemsに行ってください。慣例に従ってください:)

于 2009-06-09T14:45:06.663 に答える
-1

BaseEntity は、キャメル ケース (strName、bseEntity) によく似ています。最初にサブジェクトを定義するため、EntityBase を使用します。これにより、その機能をより迅速に特定できます。

于 2009-05-05T20:53:00.520 に答える
-6

名前を付けるときは、常にアルファベット順を考えてください。私はSQLサーバーを見るのが本当に好きではなく、すべてのストアドプロシージャはusp[something]という名前です。同じように、関数の先頭の名前としてGetとSetを使いすぎないでください。GetItemsまたはPlaceOrderの代わりに、ItemsGetまたはOrderPlaceという名前を付けることを検討してください。

したがって、一般的には、ClassnameBase/EntityBaseの方が適しています。

于 2009-05-05T21:33:52.667 に答える