XAML 마크 업에 권장되는 컨트롤 명명 규칙은 무엇입니까?


10

WPF 또는 Silverlight로 작업 할 때 제어 명명 규칙을 어떻게 사용해야합니까? XAML 마크 업에서 컨트롤의 이름을 지정합니까? "selectButton"또는 "btnSelect"와 같은 제어 이름을 가진 코드 플렉스에서 프로젝트 샘플을 보았습니다. 무엇을 추천하나요?


1
어떤 체계를 선택하든 응용 프로그램에서 일관성을 유지해야합니다.
ChrisF

답변:


8

Microsoft는 웹 사이트에 여기 에 지침을 게시 했습니다 . 결론은 헝가리어 명명 규칙이 없다는 것입니다.

편집하다

이를보다 명확하게하기 위해 Microsoft는 UI 요소를 포함한 모든 명명 규칙에서 헝가리어 표기법을 삭제했습니다. 그러나 MS는 UI 요소에 대한 권장 사항을 문서화하지 않았습니다. 거기 에이 메모를하고 제안을 제공하는 많은 링크가 있지만 결론은 UI 요소를 사용하면 스스로한다는 것입니다. 링크 예 .

표준에서는 헝가리어 표기법을 삭제하고 명시 적 명명을 사용하고 있습니다. 즉, OK라는 버튼의 이름은 ButtonOK이고, Comments라는 텍스트 블록은 TextblockComments입니다. 단점은 이름이 길어질 수 있다는 것입니다. 긍정적 인 점은 모든 사람이 요소가 무엇인지 정확히 알고 있다는 것입니다.

자신에게 적합한 것을 설정하고 그 표준을 일관되게 사용하는 한 잘못 될 수 없습니다.


2
UI 요소가 아닌 라이브러리의 멤버 이름 지정 지침입니다.
Robert Harvey

@Robert-좋은 지적입니다. 나는 그들의 가이드 라인이 UI 요소를 배제한다는 것을 알지 못했다. 답변을 편집하겠습니다.
Walter

4

일반적으로 모든 컨트롤이 바인딩을 통해 설정되거나 제어되는 것을 고려할 때 대부분 사용되지 않는 XAML에서 컨트롤의 이름을 지정하지 않습니다. 출처 : 피트 브라운


같은 기사에 따르면 모든 데이터 입력 요소 (텍스트 상자, 확인란, 콤보)의 이름을 다른 곳 (예 : 데이터 저장소)으로 참조해야하기 때문에 이름지정 해야한다고 말합니다 . 크롬 요소 (선, 모양 등)는 이름을 지정할 필요가 없으며 XAML이 강제로 그렇게하지 않는 것이 좋습니다.
Robert Harvey

@Robert Harvey : 기사 : "TextBoxes, ListBoxes, Buttons 등과 같은 대화 형 UI 컨트롤 문서 적 관점. 어떤 요구 사항도 아니지만 도움이됩니다. " MVVM을 사용하면서 블렌드 작업을 위해 xaml을 디자이너에게 전달할 필요가 없으므로이 이름을 전혀 사용하지 못했습니다. 내 컨트롤은 정말 간단합니다. 해당 이름으로 제공되는 문서는 과도합니다. 그러나 더 복잡한 UI에서는 다를 수 있다는 데 동의합니다.
Matthieu

MVVM을 사용하며 컨트롤 이름을 거의 지정하지 않습니다. 그들이 맥락과 VS 디자이너에 의해 무엇인지는 분명합니다. 간혹 XAML에 의견을 제시 할 것입니다.
M. Dudley

2

XAML에 대해서는 잘 모르지만 일반적인 이전 ASP.NET의 경우 다음과 같은 규칙이 있습니다.

  1. 오래된 헝가리어 (예 : txtFirstName, ddlState, chkAcceptsTerms)
  2. 명시 적 명명 (예 : TextFirstName, DropdownState, CheckAcceptsTerms)

내가 어느 것을 선호하는지 잘 모르겠습니다. # 2와 같은 많은 코드를 보았지만 역전되었습니다 (예 : FirstNameTex, StateDropdown, AcceptsTermsCheck).하지만 관련 컨트롤을 그룹화하기 때문에 다른 방법을 좋아합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.