Як ви називаєте свої елементи управління GUI?


12

Загальноприйнятою вважається погана практика використання угорської позначення , але загальним є пошук елементів керування GUI з назвою userNameTextBoxта userNameLabel.

Чи вводиш ти тип керування в його ім'я? Хіба це не така угорська нотація?


в цілому шахта не має імен, оскільки вони не потребують їх у WPF
jk.

Відповіді:


12

Як ти кажеш. Загалом, угорська нотація - це погана практика. Мені подобається тримати свої імена якомога ближче до домену, але іноді те, що ви намагаєтесь сказати, - це текстове поле, і це мітка .

Дивіться відповідь Крамія на інше запитання, щоб зрозуміти, чому він все-таки використовує угорську мову в певних ситуаціях.

Як і у всіх кодах, ключовою є послідовність та самооцінка. Якщо ви та ваша команда домовляєтесь про те, як розміщені різні графічні інтерфейси управління та які елементи потребують міток, ви будете добре :)


8

Насправді я використовую угорські позначення, лише для управління графічним інтерфейсом. Я використовую щось на зразок lblText, rbGroup1, lvTable тощо для міток, радіо кнопок та переглядів списків.

Вони ніколи не схильні змінюватися і так зрозуміло, яка змінна є керуванням графічного інтерфейсу, а що ні.

Однак, оскільки я використовую WPF з можливостями прив'язки, насправді взагалі не потрібно їх називати, оскільки він пов'язаний із властивістю C #.

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


3
Погодьтеся з цим. Керування графічним інтерфейсом - єдине місце, де угорська нотація не є кардинальним гріхом (IMO, звичайно)
Wayne Molina

4

Наша команда використовує угорські позначення для управління графічним інтерфейсом, а не для решти коду.

Типовий приклад, мітка, за якою йде текстове поле:

  • lblFirstName
  • txtFirstName

Плюс це полегшує пошук вашого текстового поля, просто введіть "txt" і intellisense зробить все інше.


1

Я використовую угорські позначення для елементів GUI. Це дійсно біль , коли ви закриваєте QtDesigner, відкрийте Visual Studio і коли ви хочете встановити текст на кнопці , якщо у вас є текстове поле з ім'ям username, passwordі т.д. При використанні Qt, це не велика проблема, тому що всі елементи GUI загорнуті всередині uiоб'єкта ( ui.username), але коли я використовую Windows Forms, текстове поле з ім'ям імені лише роздуває простір імен.

В цьому випадку txtUsername, btnLogin, lblStatusі т.д., явно кращі варіанти.


1

Я уникаю використання угорських позначень для управління графічним інтерфейсом - я б уникав називати такий елемент, як `lblFirstName ', тому що мені дуже не важливо, що це мітка - з точки зору прив'язки даних це просто щось прив'язувати.

Для елементів керування, які потребують імені, я зазвичай додаю префікс ux"користувача". Це дає зрозуміти, що елемент призначений лише для взаємодії з користувачем. Наприклад, моя модель перегляду може мати властивість, яку називають, FirstNameа представлення може мати виклик елемента керування uxFirstName. Це має додаткову перевагу, що всі мої іменовані елементи управління згруповані в моєму IDE.


3
Чи не є самим uxпрефіксом угорське позначення? Можливо, інший вид (я забуваю імена двох), який вказує на значення, а не на тип, але все-таки форма угорська ;-)
Уейн Моліна

Я думаю, ви посилаєтесь на apps hungarianпротивагу systems hungarian. Угорські програми не вважаються такими ж шкідливими, як системи, але я думаю, що значення'ux 'може бути надто високим, щоб навіть вважатись додатками. Я думаю, ви могли б назвати це шаром угорським або чим-небудь :)
MattDavey

1

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

Проблема не використовувати угорські позначення проста, щойно ви виходите з гладких вод MSVS, навігація здійснює занурення в ніс. Ви бачите якесь, SomeValue = SomeOtherValueі у вас немає поняття, що відбувається, якщо ви не шукаєте кожну прокляту річ. Через grep або добрий старий пошук, який зазвичай вбиває продуктивність саме там, IDE, крім QT та MSVS, справді погані при пошуку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.