По какой-то причине я никогда этого не вижу. Есть ли причина, почему нет? Например, мне нравится _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.