Загальноприйнятою вважається погана практика використання угорської позначення , але загальним є пошук елементів керування GUI з назвою userNameTextBox
та userNameLabel
.
Чи вводиш ти тип керування в його ім'я? Хіба це не така угорська нотація?
Загальноприйнятою вважається погана практика використання угорської позначення , але загальним є пошук елементів керування GUI з назвою userNameTextBox
та userNameLabel
.
Чи вводиш ти тип керування в його ім'я? Хіба це не така угорська нотація?
Відповіді:
Як ти кажеш. Загалом, угорська нотація - це погана практика. Мені подобається тримати свої імена якомога ближче до домену, але іноді те, що ви намагаєтесь сказати, - це текстове поле, і це мітка .
Дивіться відповідь Крамія на інше запитання, щоб зрозуміти, чому він все-таки використовує угорську мову в певних ситуаціях.
Як і у всіх кодах, ключовою є послідовність та самооцінка. Якщо ви та ваша команда домовляєтесь про те, як розміщені різні графічні інтерфейси управління та які елементи потребують міток, ви будете добре :)
Насправді я використовую угорські позначення, лише для управління графічним інтерфейсом. Я використовую щось на зразок lblText, rbGroup1, lvTable тощо для міток, радіо кнопок та переглядів списків.
Вони ніколи не схильні змінюватися і так зрозуміло, яка змінна є керуванням графічного інтерфейсу, а що ні.
Однак, оскільки я використовую WPF з можливостями прив'язки, насправді взагалі не потрібно їх називати, оскільки він пов'язаний із властивістю C #.
До речі, не помиляйтеся називати контрольний lvListViewPersons те, що я випадково бачу. Якщо змінна з префіксом lv, ви бачите, що це вже перегляд списку.
Я використовую угорські позначення для елементів GUI. Це дійсно біль , коли ви закриваєте QtDesigner, відкрийте Visual Studio і коли ви хочете встановити текст на кнопці , якщо у вас є текстове поле з ім'ям username
, password
і т.д. При використанні Qt, це не велика проблема, тому що всі елементи GUI загорнуті всередині ui
об'єкта ( ui.username
), але коли я використовую Windows Forms, текстове поле з ім'ям імені лише роздуває простір імен.
В цьому випадку txtUsername
, btnLogin
, lblStatus
і т.д., явно кращі варіанти.
Я уникаю використання угорських позначень для управління графічним інтерфейсом - я б уникав називати такий елемент, як `lblFirstName ', тому що мені дуже не важливо, що це мітка - з точки зору прив'язки даних це просто щось прив'язувати.
Для елементів керування, які потребують імені, я зазвичай додаю префікс ux
"користувача". Це дає зрозуміти, що елемент призначений лише для взаємодії з користувачем. Наприклад, моя модель перегляду може мати властивість, яку називають, FirstName
а представлення може мати виклик елемента керування uxFirstName
. Це має додаткову перевагу, що всі мої іменовані елементи управління згруповані в моєму IDE.
ux
префіксом угорське позначення? Можливо, інший вид (я забуваю імена двох), який вказує на значення, а не на тип, але все-таки форма угорська ;-)
apps hungarian
противагу systems hungarian
. Угорські програми не вважаються такими ж шкідливими, як системи, але я думаю, що значення'ux 'може бути надто високим, щоб навіть вважатись додатками. Я думаю, ви могли б назвати це шаром угорським або чим-небудь :)
Я знаю, що люди не можуть витримати угорські позначення загалом, але я все ще вважаю це дуже корисним у багатьох місцях. Для GUI я принаймні використовую префікс wnd.
Проблема не використовувати угорські позначення проста, щойно ви виходите з гладких вод MSVS, навігація здійснює занурення в ніс. Ви бачите якесь, SomeValue = SomeOtherValue
і у вас немає поняття, що відбувається, якщо ви не шукаєте кожну прокляту річ. Через grep або добрий старий пошук, який зазвичай вбиває продуктивність саме там, IDE, крім QT та MSVS, справді погані при пошуку.