문제

누구든지 사이트를 가리키거나 인터페이스, 클래스, 아마도 그 객체 나 방법과 관련된 방법과 속성을 선택하는 방법에 대한 지혜를 줄 수 있습니까?

이것은 특히 Microsoft 개발을위한 것이므로 Java-esque "doget"등이 실제로 사용되지는 않지만 언어 장벽을 가로 지르는 일반적인 규칙은 (내가 생각했을 것입니다) 존재해야합니다.

예를 들어 도움이 될 수 있습니다. 인터페이스에 대한 4 가지 이름 선택이 있습니다.

IGroupedItem
IGroupableItem
IDataEntity
IGroupedEntity

그들은 모두 형용사와 명사 또는 명사를 포함합니다. .NET 프레임 워크를 살펴보면 일관성을 위해 어떤 종류의 규칙 세트가 있어야합니까? 방법에 대한 명백한 동사를 제외하고.

편집하다: 예제는 인터페이스이지만이를 인터페이스로 제한하지는 않습니다. 일반적인 지침은 클래스는 명사, 방법 동사, 속성 명사입니다. 내가 의미하는 바는 동의어의 선택이라고 생각합니다. 어디에서나 "엔티티"를 던지고 있습니다

도움이 되었습니까?

해결책

를보세요 MSDN 기사 이름 지침. 요컨대 :

  • 클래스 이름과 속성 이름에 명사를 사용하십시오 (분명합니다)
  • 인터페이스 이름의 경우 i로 시작하고 명사 및/또는 형용사를 사용하여 행동을 설명합니다.
  • 방법 이름에 동사를 사용하여 동작을 설명하십시오

당신의 예를 위해 -IgroupableItem.

다른 팁

인터페이스는 클래스가 할 수있는 일입니다. 그게 아니야 ~이다, 그러나 할 수있는 것 하다.

IGroupableItem

다른 이름은 무엇이 무엇인지, 너무 모호한지를 설명합니다.

구체적으로, "idataentity"는 크게 의미가 없습니다. 결국, 모든 것이 데이터 엔티티입니다.

MSDN에는 기사가 있습니다 인터페이스 명명 지침 그것은 당신을 도울 수 있습니다. 다른 많은 이름 지정 및 디자인 가이드 라인과 함께 인터페이스 이외의 물건의 이름 지정 규칙을 원한다면 MSDN에서도 모두 찾을 수 있습니다.

이것은 Spodi의 답변과 같은 자료이지만 MSDN의 수업 도서관 개발자를위한 설계 지침 대부분은 훌륭합니다 이름 지정 그리고 훨씬 더.

좋은 기사가 있습니다잘못된 코드를 잘못 보이게합니다 Joel Spolsky. 그것은 인기가 없지만 매우 편리한 이름 지정 컨벤션에 대해 이야기합니다.

MSDN 지침뿐만 아니라 C# 코딩 표준 문서가 있습니다. Idesign Juval Lowy는 매우 도움이됩니다 (MSDN과 얼마나 다른지/얼마나 다른지 모릅니다).

C# 코딩 표준

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top