Вы называете элементы управления формами, используя то же соглашение, что и частная переменная?

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

Ответ 1

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

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

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

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

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

Ответ 2

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

Ответ 3

Я лично префишу частные объекты с помощью

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

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

Ответ 4

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

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

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

Ответ 5

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

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

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

Ответ 6

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

Ответ 7

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

Лука,

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

Ответ 8

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

Ответ 9

Я в лагере Uppercase/Lowercase ( "title" является закрытым, "Title" является общедоступным), смешанный с "венгерской" нотой для компонентов интерфейса (tbTextbox, lblLabel и т.д.), и я рад, что мы не имеют разработчиков Visual-Insensitive-Basic в команде: -)

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

Ответ 10

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

Ответ 11

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

Это, по-видимому, более или менее приемлемое соглашение в сообществе .NET.