Рекомендации по наименованию для замены / избежания венгерской нотации в пользовательском интерфейсе? - PullRequest
2 голосов
/ 28 мая 2009

Я перестал использовать венгерскую нотацию везде, кроме пользовательского интерфейса, где часто у меня есть метка имени пользователя, текстовое поле имени пользователя, локальная переменная имени пользователя, обязательный валидатор поля, свойство имени пользователя и параметр метода и т. Д. часто все в одном контексте.

текущий: lblUser, txtUser, rfvUser, _User, пользователь, пользователь

Если я делаю очевидное, UserLabel, UserTextBox, UserRequiredFieldValidator, мне кажется, что я просто заменяю более длинные суффиксы на более короткие префиксы.

И поле _ для обозначения помечается FxCop, но без префикса будет конфликтовать с утвержденным соглашением между пользователем и пользователем.

Есть предложения?

Ответы [ 4 ]

4 голосов
/ 28 мая 2009

Я все еще обычно использую венгерскую нотацию для объектов пользовательского интерфейса, так как считаю, что мой код становится более читабельным.

Я бы использовал такие вещи, как m_firstNameTextBox или m_countryComboBox для элементов управления пользовательского интерфейса, а затем m_firstName и m_country для строковых значений из этих элементов управления.

В конце дня вы должны использовать все, что вы предпочитаете. Общее правило, позволяющее избежать венгерской нотации, столь же плохо, как и то, которое предусматривает ее религиозное использование. Очевидно, что такие вещи, как intCounter, strName являются излишними, но в других случаях имеет смысл указывать тип класса в имени переменной, и, по моему мнению, элементы управления пользовательским интерфейсом оказываются одним из случаев, когда это имеет смысл.

2 голосов
/ 28 мая 2009

В венгерской нотации нет ничего плохого, если она используется для того, чтобы сделать код более читабельным. Если вы думаете, что это не способствует этому, не используйте его.

Ах, и, пожалуйста, не используйте ' Пользователь ' и ' Пользователь '. Трудно читать, использовать, поддерживать и переносить. Если две разные вещи имеют два разных значения, тогда венгерская нотация является лучшим вариантом, чем кодирование этой части информации путем переключения символов между прописными и строчными буквами.

Я не знаю, кто изобрел чувствительность к регистру в языках программирования, но он нанес больше урона, чем кто-либо мог себе представить. Я ненавижу получать ошибки компилятора, потому что я набрал ' ID ' вместо ' Id ' или ' UsbDrive ', когда должно было быть ' USBDrive .

1 голос
/ 28 мая 2009

Используйте все строчные и подчеркивания, и проблема с регистром исчезнет. SomeIdiotSomewhereDecidedThisWasAGoodWayToDoThingsAndIfIFindHimIWillKillHim.

1 голос
/ 28 мая 2009

Я предпочитаю венгерский, хотя это приводит к очень длинным именам в пользовательском интерфейсе (из-за проблемы, о которой вы упоминали в вопросе). Мое единственное предложение - быть последовательным во всей команде.

...