[c#] C # 클래스 명명 규칙 : BaseClass 또는 ClassBase 또는 AbstractClass

기본 클래스 이름 지정에 권장되는 접근 방식은 무엇입니까? 유형 이름 앞에 ” Base “또는 ” Abstract “를 붙입니까? 아니면 “Base”를 접미사로 붙이 겠습니까?

다음을 고려하세요:

유형 : ViewModel예 : MainViewModel , ReportViewModel

기본 클래스 : BaseViewModel또는 ViewModelBase또는AbstractViewModel

다음 사항도 고려하십시오.

유형 : Product예 : VirtualProduct , ExpiringProduct

기본 클래스 : BaseProduct또는 ProductBase또는AbstractProduct

어느 것이 더 표준이라고 생각하십니까?

class Entity : EntityBase
{
}

또는

class Entity : BaseEntity
{
}



답변

예를 들어 기본 접미사와 프레임 워크의 사례가있다 System.Configuration.Provider.ProviderBase, System.Web.SessionState.SessionStateStoreProviderBase.

그러나 결코 프레임 워크의 모든 추상 기본 클래스는이 규칙을 따릅니다 (예를 들어 System.Data.Common.DbParameter, System.Data.Common.DbCommand).

개인적으로 나는 그것이 추상 클래스라는 사실을 강조하고 싶지 않고 클래스의 사용자가 이름이 구체적인 구현을 나타내는 것으로 기대할 수 있다고 생각 하지 않는 한 접미사 사용을 피할 것입니다.


답변

위의 어느 것도 없습니다. 기본 클래스가 제공하는 목적을 고려하십시오. 이름을 지정하십시오. 예를 들어, Automobile and Bicycle의 기본 클래스는 Vehicle이 될 수 있습니다.

한 클래스의 기본 클래스를 갖기 위해 기본 클래스를 만들고 그 이외의 목적이나 이유가 없다면 아마도 뭔가 잘못하고있을 것입니다.


답변

가상 기본 클래스에 대해 이야기하는 경우 Microsoft의 표준은 ClassnameBase (CollectionBase와 유사)입니다.


답변

나는 그것이 선택의 문제라고 생각합니다. 많은 기본 클래스를 만드는 경우 항상 BaseClassname을 사용하는 것이 더 낫습니다. 그러면 Base를 입력하고 나머지 도움을 받아 사용할 수있는 기본 클래스를 항상 찾을 수 있기 때문입니다. Intellisense. 20 개의 Base 클래스가 있고 Base를 접미사로 추가했는데 기본 클래스의 이름이 무엇인지 잊어 버린 경우 어떻게해야합니까? VS에서 먼저 클래스 다이어그램을 만들고 사용 가능한 기본 클래스를 확인 하시겠습니까? 하나 또는 두 개의 클래스 일 때 ClassBase라는 이름을 지정하는 것이 좋습니다.

GetItems와 ItemsGet 함수 간의 결정도 마찬가지입니다. 가독성을 위해 최소한 말하고 싶습니다-GetItems로 가십시오. 규칙을 따르십시오 🙂


답변

우리는 BaseEntity를 사용하지만 자신이 선호하는 것으로 생각합니다. 나는 자주 다른 것을 본다.

컨텍스트 내에서 일관성을 유지하십시오. 프로젝트, 네임 스페이스 또는 가능한 경우 팀이 되십시오. 다른 규칙은 나쁜 규칙 IMHO보다 나쁩니다.


답변

개인적으로 base라는 단어를 추가하지 않는 것이 좋습니다. 언제 코드를 변경해야하는지 알 수 없으며 더 이상 기본 개체가 아닙니다. 즉, 과거에이 작업을 수행했으며 앞에 Base라는 단어를 접두사로 붙였습니다. 더 잘 흐르는 것 같습니다.


답변

BaseEntity는 낙타 케이스 (strName, bseEntity)와 매우 유사합니다. 주제를 먼저 정의하기 때문에 EntityBase를 사용하면 기능을 더 빨리 식별 할 수 있습니다.