GUI 컨트롤의 이름을 어떻게 지정합니까?


답변:


12

당신이 말하는 것처럼. 일반적으로 헝가리어 표기법은 나쁜 습관입니다. 내 이름을 가능한 한 도메인에 가깝게 유지하고 싶지만 때때로 당신이 말하려는 것은 이것이 텍스트 상자이고 레이블 입니다.

왜 특정 상황에서 여전히 헝가리어를 사용하는지에 대한 합리적 인 견해에 대한 다른 질문에 대한 Kramii의 답변을 참조하십시오 .

모든 코드와 마찬가지로 일관성 및 자체 평가가 중요합니다. 당신과 당신의 팀이 다른 GUI 컨트롤에 라벨이 붙어있는 방법과 라벨이 필요한 요소에 동의하면 괜찮을 것입니다 :)


8

실제로 저는 GUI 컨트롤에만 헝가리어 표기법을 사용합니다. 레이블, 라디오 버튼 및 목록보기에 lblText, rbGroup1, lvTable 등을 사용합니다.

그들은 어쨌든 변하지 않는 경향이 있으며 어떤 변수가 GUI 컨트롤이고 어떤 변수가 아닌지 분명합니다.

그러나 바인딩 가능성이있는 WPF를 사용하기 때문에 C # 속성에 바인딩되어 있기 때문에 더 이상 이름을 지정할 필요가 없습니다.

Btw, 내가 가끔 본 것처럼 컨트롤 lvListViewPersons를 잘못 부르지 마십시오. 변수에 접두사가 lv 인 경우 이미 목록보기임을 알 수 있습니다.


3
이것에 동의하십시오. GUI 컨트롤은 헝가리어 표기법이 주요한 죄가 아닌 유일한 장소입니다 (물론 IMO)
Wayne Molina

4

우리 팀은 나머지 코드가 아닌 GUI 컨트롤에 헝가리어 표기법을 사용하고 있습니다.

예를 들어, 텍스트 상자 뒤에 레이블이 있습니다.

  • lblFirstName
  • txt 이름

또한 텍스트 상자를 쉽게 찾을 수 있도록 "txt"만 입력하면 intellisense가 나머지 작업을 수행합니다.


1

GUI 요소에 헝가리어 표기법을 사용하고 있습니다. 정말 당신이 QtDesigner 오픈 비주얼 스튜디오를 닫고 텍스트 상자라는 이름이 있다면 당신은 버튼 세트 텍스트로 할 때 때 통증 username, password모든 GUI 요소는 내부 포장되어 있기 때문에, 당신은 Qt를를 사용하는 경우 등은 큰 문제가 아닌 ui객체 ( ui.username)이지만 Windows Forms를 사용할 때 username이라는 이름의 텍스트 상자 만 bloats 네임 스페이스입니다.

이 경우, txtUsername, btnLogin, lblStatus, 등은 분명히 더 나은 옵션입니다.


1

GUI 컨트롤에 헝가리어 표기법을 사용하지 않습니다.`lblFirstName '과 같은 컨트롤의 이름은 피해야합니다. 왜냐하면 레이블에 신경 쓰지 않기 때문입니다. 데이터 바인딩 관점에서 볼 때 바인딩해야 할 부분입니다.

이름이 필요한 컨트롤의 경우 일반적으로 ux'사용자 경험'에 접두사 를 추가합니다 . 이는 아이템이 사용자와의 상호 작용을위한 것임을 분명히합니다. 예를 들어 내 뷰 모델에는이라는 속성이 FirstName있고 뷰에는라는 컨트롤이있을 수 있습니다 uxFirstName. 이것은 모든 명명 된 컨트롤이 IDE에 멋지게 그룹화되어 있다는 추가 이점이 있습니다.


3
되지는인가 ux접두사 자체 헝가리어 표기법? 어쩌면 유형이 아닌 의미를 나타내는 다른 종류 (두 이름을 잊어 버릴 수도 있음), 그러나 여전히 헝가리어의 형태 ;-)
Wayne Molina

나는 당신이 apps hungarian반대 라고 말하는 것 같습니다 systems hungarian. 헝가리어 앱은 시스템만큼 해로운 것으로 간주되지 않지만 'ux'의 의미가 앱으로 간주 되기에는 너무 높을 수 있다고 생각합니다. 나는 당신이 그것을 헝가리어 또는 무언가라고 부를 수 있다고 생각합니다 :)
MattDavey

1

나는 사람들이 헝가리어 표기법을 전반적으로 견딜 수는 없지만 많은 곳에서 여전히 유용하다고 생각합니다. GUI의 경우 적어도 wnd 접두사를 사용합니다.

헝가리어 표기법을 사용하지 않는 문제는 간단합니다. 일단 MSVS의 부드러운 물을 떠나면 내비게이션이 시작됩니다. 당신은 어떤 종류의 것을보고 당신은 SomeValue = SomeOtherValue모든 빌어 먹을 것을 찾지 않으면 무슨 일이 일어나고 있는지 실마리가 없습니다. grep 또는 오래된 검색 기능을 통해 일반적으로 생산성을 저하시키는 QT 및 MSVS 이외의 IDE는 실제로 조회가 어렵습니다.

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