2009-05-27 2 views
2

UI에서 사용자 이름 레이블, 사용자 이름 텍스트 상자, 사용자 이름 로컬 변수, 필수 필드 유효성 검사기, 사용자 이름 속성 및 메서드 매개 변수 등이있는 UI를 제외한 모든 곳에서 헝가리 표기법을 사용하지 않았습니다. 종종 같은 맥락에서 모두. 현재UI에서 헝가리 표기법을 대체/피하기위한 이름 지정 조언?

: 나는 명백한, UserLabel, UserTextBox, UserRequiredFieldValidator을한다면 난 그냥 짧은 접두사 이상 접미사를 substiuting 것 같은 lblUser, txtUser, rfvUser, _USER, 사용자, 사용자

, 그것은 보인다.

및 _ 표시 필드는 FxCop에 의해 플래그가 지정되지만 접두어가 없으면 승인 된 사용자/사용자 규칙과 충돌합니다.

제안 사항?

답변

4

UI 개체에 헝가리 표기법을 사용하지만 코드가 읽기 쉽다는 것을 알게되었습니다.

UI 컨트롤의 경우 m_firstNameTextBox 또는 m_countryComboBox를 사용하고 m_firstName 및 m_country는 해당 컨트롤의 문자열 값을 사용합니다.

하루가 끝나면 원하는 것을 사용하십시오. 헝가리 표기법을 피하기위한 담요 규칙은 그것의 종교적 사용을 규정하는 것과 마찬가지로 나쁩니다. intCounter, strName과 같은 것들은 잔인합니다. 그러나 다른 경우에는 변수 이름에 클래스 유형을 표시하는 것이 좋으며 제 생각에는 UI 컨트롤이 이해되는 경우 중 하나 일 수 있습니다.

1

UI에서 실제로 긴 이름으로 연결 되더라도 헝가리를 선호합니다 (질문에서 언급 한 문제 때문에). 내 유일한 제안은 전체 팀에서 일관되게하는 것입니다.

2

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

아, '사용자'과 '사용자'을 모두 사용하지 마십시오. 읽고, 사용하고, 유지 관리하고 운반하기가 어렵습니다. 서로 다른 두 가지 의미가 다른 경우 헝가리 표기법은 대소 문자간에 문자를 뒤집어서 해당 정보를 인코딩하는 것보다 더 나은 옵션입니다.

프로그램 언어에서 누가 대/소문자를 구분했는지 알 수 없지만 그 당시에 상상할 수있는 것보다 많은 피해를 보았습니다. 나는 그것이 'USBDrive'를 봤는데한다 대신 '아이디'또는 'UsbDrive'의 'ID'를 입력하기 때문에 컴파일러 오류를 받고 싫어.

+1

대/소문자를 구분하는 것은 계산적으로 조금 싼 (적어도 ASCII 시스템에서는) 것이므로 기본적으로 단순히 대/소문자를 구분하지 않았다고 생각합니다. 필자는 최근의보다 상위 레벨의 언어가 식별자에 대해 대소 문자를 구별하지 않을 가능성이 높다는 인상을 가지고 있습니다. – cheduardo

+0

그래, 문자가 정확히 일치하는지 비교하는 것이 더 가볍습니다. 심지어 유니 코드 소스 코드에 대해 시작하게하지 마라. 그것은 읽는 암캐이며, 대부분의 문자를 입력하는 방법조차 모른다. –

+0

글쎄, 이건 완전히 사실이 아니야, 텍스트 박스를 콤보 박스로 변경하고 사람을 잊어 버리거나 컨트롤의 이름을 바꾸지 않으려 고 할 수도있다. txt 만들기. 오해의 소지가 있습니다. – VoronoiPotato

1

모두 소문자와 밑줄을 사용하면 대소 문자가 사라집니다. 어떤 사람이 어디서했는지 결정 했어. 좋아. 할아버지. 할아버지. 할아버지.

+0

한 번 동의했지만, variableName과 TypeName의 대소 문자가 위임되었다고 어딘가에서 3 년 동안 코딩하면 내 마음이 바뀌었다. – CJBrew