문제

UI를 제외한 헝가리 표기법 사용을 중단했습니다. UI를 제외한 모든 곳에서 사용자 이름 레이블, 사용자 이름 텍스트 상자, 사용자 이름 로컬 변수, 필요한 필드 유효성 검사기, 사용자 이름 속성 및 메소드 매개 변수가 있습니다. 같은 맥락에서.

현재 : LBLUSER, TXTUSER, RFVUSER, _USER, 사용자, 사용자

명백한 userLabel, userTextBox, userRequiredFieldValidator를 수행하면 더 짧은 접두사에 대해 더 긴 접미사를 대체하는 것 같습니다.

그리고 필드를 나타내는 _은 FXCOP에 의해 표시되지만 접두사가 없으면 승인 된 사용자/사용자 규칙과 충돌합니다.

제안이 있습니까?

도움이 되었습니까?

해결책

나는 일반적으로 코드를 더 읽기 쉽게 만들 수있는 UI 객체에 대해 헝가리 표기법을 사용합니다.

UI 컨트롤에는 m_firstnametextbox 또는 m_countrycombobox와 같은 것을 사용한 다음 해당 컨트롤의 문자열 값에 대해 M_FIRSTNAME 및 M_COUNTRY와 같은 것을 사용합니다.

하루가 끝나면 원하는 것을 사용해야합니다. 헝가리 표기법을 피하기위한 담요 규칙은 종교적 사용을 규정하는 것만 큼 나쁘다. intcounter, strname과 같은 것들이 과잉이지만 다른 경우에는 변수 이름의 클래스 유형을 나타내는 것이 좋습니다. 제 생각에는 UI 컨트롤이 의미가있는 경우 중 하나입니다.

다른 팁

코드를 더 읽기 쉽게 만드는 데 사용되는 한 헝가리 표기법에는 아무런 문제가 없습니다. 그것이 그것에 기여하지 않는다고 생각한다면, 그것을 사용하지 마십시오.

아, 그리고 둘 다 사용하지 마십시오 '사용자' 그리고 '사용자'. 읽고, 사용, 유지 및 포트가 어렵습니다. 두 가지 다른 것이 두 가지 다른 의미를 갖는 경우 헝가리어 표기법은 대문자/소문자 사이에서 문자를 뒤집어 해당 정보를 인코딩하는 것보다 더 나은 옵션입니다.

나는 누가 프로그램 언어에서 사례 감지 성을 발명했는지는 모르겠지만, 당시에 상상할 수있는 사람보다 더 많은 피해를 입혔습니다. 입력했기 때문에 컴파일러 오류가 싫어ID' 대신에 'ID' 또는 'USB 드라이브'그럴 때'USB 드라이브'.

UI에서 실제로 긴 이름으로 이어지더라도 헝가리어를 선호합니다 (문제로 언급 한 문제 때문에). 저의 유일한 제안은 팀 전체에서 일관성을 유지하는 것입니다.

모든 소문자와 밑줄을 사용하면 사례 문제가 사라집니다. someidiotsomewheredecided thiswasagoodwaytodothingsandififindhimiwillkillhim.

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