Вы называете элементы управления на формах, используя то же соглашение, что и частная переменная? - PullRequest
10 голосов
/ 13 августа 2008

Почему-то я никогда не вижу, чтобы это было сделано. Есть ли причина, почему нет? Например, мне нравится _blah для приватных переменных, и, по крайней мере, в Windows Forms элементы управления по умолчанию являются закрытыми переменными-членами, но я не помню, чтобы когда-либо видел их так. В случае, когда я создаю / храню управляющие объекты в локальных переменных внутри функции-члена, особенно полезно иметь некоторое визуальное различие.

Ответы [ 11 ]

13 голосов
/ 13 августа 2008

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

Логика проста: для любого данного объекта данных у вас может быть два или более элемента управления, связанных с ним. Например, у вас есть элемент управления, который указывает дату рождения в текстовом поле, у вас будет:

  • текстовое поле
  • метка, указывающая, что текстовое поле предназначено для дат рождения
  • элемент управления календаря, который позволит вам выбрать дату

Для этого у меня будет lblBirthDate для метки, txtBirthDate для текстового поля и calBirthDate для элемента управления календаря.

Мне интересно услышать, как другие делают это, однако. :)

4 голосов
/ 13 августа 2008

Венгерская нотация или нет, мне более любопытно, если люди добавят m_ или _ или что-то еще, что они используют для стандартных закрытых переменных-членов.

1 голос
/ 13 августа 2008

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

Если слишком много идентификаторов / членов / местных жителей, чтобы иметь 90% -ный шанс запомнить / угадать, как это называется, вероятно, потребуется больше абстракции.

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

1 голос
/ 13 августа 2008

Для меня большая победа с соглашением об именах, заключающимся в добавлении подчеркивания частным членам, связана с Intellisense. Поскольку подчеркивание предшествует любой букве в алфавите, когда я делаю ctrl-пробел для вызова Intellisense, все мои _privateMembers находятся прямо вверху.

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

Но на работе это VB, и мы делаем mPrivateMember. Я думаю, что м может означать модуль.

1 голос
/ 13 августа 2008

Я лично префикс частных объектов с _

Элементы управления формы всегда начинаются с префикса типа, only причина, по которой я это делаю, из-за intellisense. С большими формами легче «получить значение меток», просто набрав lbl и выбрав его из списка ^ _ ^ Это также следует логике , сформулированной Джоном Лимджапом .

Несмотря на то, что это повторяется, Microsoft. Руководство по кодированию .NET, ознакомьтесь с ними здесь .

0 голосов
/ 05 января 2009

Я записываю имя столбца базы данных, который они представляют.

0 голосов
/ 13 августа 2008

Я нахожусь в заглавном / строчном лагере («title» является личным, «Title» является публичным), смешанным с «венгерским» обозначением для компонентов пользовательского интерфейса (tbTextbox, lblLabel и т. Д.), И я рад, что мы нет разработчиков Visual Visual-Insensitive-Basic в команде: -)

Мне не нравится подчеркивание, потому что оно выглядит некрасиво, но я должен признать, что у него есть преимущество (или недостаток, в зависимости от вашей точки зрения): в отладчике все частные переменные будут сверху из-за _ будучи на вершине алфавита. Но опять же, я предпочитаю, чтобы моя пара private / public была вместе, потому что это облегчает отладку логики getter / setter, поскольку вы видите приватное и public свойство рядом друг с другом,

0 голосов
/ 13 августа 2008

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

0 голосов
/ 13 августа 2008

Я использую m_ для переменных-членов, но я все больше склоняюсь к тому, чтобы просто использовать lowerCamelCase, как я делаю для параметров метода и локальных переменных. Общедоступные материалы находятся в UpperCamelCase.

Похоже, это более или менее общепринятое соглашение в сообществе .NET.

0 голосов
/ 13 августа 2008

Венгерская нотация или нет, я больше Любопытно, если люди предпочитают m_ или _ или все, что они используют для стандартного частного переменные-члены.

Люк

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...